supersdk

文档中心

文档中心

下载文档

支付模块


一、接入前准备

1. 游戏需要先阅读公共配置并做好相关配置。

2. 游戏需要先完成登录模块所有接口的接入。

注意:游族游戏接入前,必须先接入游族的起点(区服)系统(运营和游族起点系统人员沟通)。

二、支付

接口描述:调用此接口会打开渠道的支付界面。

注意一:联调前需要在开服系统为区服配置游戏服务器的 Ip 或域名。

注意二:游戏不能依赖客户端 SDK 的支付回调进行游戏逻辑处理,比如首充显示等(部分渠道支付成功、失败没有回调)。

接口调用:

Map<String, String> params = new HashMap<String, String>();
params.put(BCoreConst.platform.KEY_PRICE, "1");               // 必传,购买金额,必须为大于 0
params.put(BCoreConst.platform.KEY_PRODUCT_ID, "商品ID");      // 必传,productId,商品唯一标识(不能超过 40 个字符)
params.put(BCoreConst.platform.KEY_PRODUCT_NAME, "商品名称");   // 必传,productName,商品名称(不能超过 40 个字符)
params.put(BCoreConst.platform.KEY_PRODUCT_DESC, "商品描述");   // 必传,productDesc,商品描述
params.put(BCoreConst.platform.KEY_POINT_RATE, "10");         // 必传,货币兑换比例,整形数字,现实货币与游戏货币的兑换比例,如现实货币 1 RMB,兑换游戏货币 10 元宝,则填 10
params.put(BCoreConst.platform.KEY_POINT_NAME, "元宝");        // 必传,游戏货币名称,如元宝、钻石、金币等
params.put(BCoreConst.platform.KEY_ORDER_TITLE, "30元月卡");   // 必传,订单标题,显示在充值页面的标题,部分平台对该值有要求
params.put(BCoreConst.platform.KEY_PAY_EXTRA, "透传字段");     // 非必传,透传字段,充值成功后会透传给游戏服务端

// 调起支付
SuperSDK.invoke(BCoreConst.platform.MODULE_NAME, BCoreConst.platform.FUNC_PAY, params);

接口回调:

private OnSuperSDKListener mSuperSDKListener = new OnSuperSDKListener() {
        
    @Override
    public void onSuperSDK(String moduleName, String funcName, String result) {
        // 调用接口异步监听结果。
        Log.d(TAG, "moduleName:" + moduleName + "\nfuncName:" + funcName + "\nresult:" + result);
        if(BCoreConst.platform.MODULE_NAME.equals(moduleName) && BCoreConst.platform.FUNC_PAY_ORDER_ID.equals(funcName)) {
                // 支付获取订单号成功
            JSONObject json = JsonUtils.parseObject(result);
			// 获取订单成功
			String orderId = json.getString("data");
			Log.d(TAG, "payOrderId success: " + orderId);
        } else if(BCoreConst.platform.MODULE_NAME.equals(moduleName) && BCoreConst.platform.FUNC_PAY.equals(funcName)) {
                // 支付结束回调
            JSONObject json = JsonUtils.parseObject(result);
			int code = json.getIntValue("code");
			if (BCoreCode.SUCCESS == code) {
				Log.d(TAG, "pay success");
			} else {
				String msg = json.getString("msg");
				Log.d(TAG, "pay failed: " + code + ", " + msg);
			}
        } else {
            Log.d("supersdk", "其他模块方法的监听结果");
        }
    }
};

日志打印:

// 获取订单成功
moduleName: platform
funcName: payOrderId
result: 
{
    "code": 1,
    "msg": "get orderId success",
    "data": "OS_ZXLX97IK1B98RDL8L"
}
// 支付结束
moduleName: platform
funcName: pay
result: 
{
    "code":1,
    "msg":"pay success"
}

附录

常量字符串 实际字符串 描述
BCoreConst.platform.MODULE_NAME platform 平台模块名称
BCoreConst.platform.FUNC_LOGIN login 登录方法
BCoreConst.platform.FUNC_HAS_LOGOUT hasLogout 渠道是否有注销接口
BCoreConst.platform.FUNC_LOGOUT logout 注销接口
BCoreConst.platform.FUNC_PAY pay 打开支付页面
BCoreConst.platform.FUNC_PAY_ORDER_ID payOrderId 获取订单号成功回调
BCoreConst.platform.KEY_PRICE price 充值金额
BCoreConst.platform.KEY_PRODUCT_ID productId 商品 ID
BCoreConst.platform.KEY_PRODUCT_NAME productName 商品名称
BCoreConst.platform.KEY_PRODUCT_DESC productDesc 商品描述
BCoreConst.platform.KEY_POINT_RATE pointRate 现实货币与游戏币兑换比例,如 1:10,则填 10
BCoreConst.platform.KEY_POINT_NAME pointName 游戏货币名称,如元宝
BCoreConst.platform.KEY_ORDER_TITLE orderTitle 订单标题
BCoreConst.platform.FUNC_ENTER_GAME enterGame 进入游戏接口
BCoreConst.platform.FUNC_CREATE_ROLE createRole 创建角色接口
BCoreConst.platform.FUNC_LEVEL_UP levelUp 角色升级接口
BCoreConst.platform.KEY_ROLE_ID role_id 角色 ID
BCoreConst.platform.KEY_ROLE_NAME role_name 角色名称
BCoreConst.platform.KEY_ROLE_LEVEL level 角色等级
BCoreConst.platform.KEY_VIP_GRADE vip_grade 角色 vip
BCoreConst.platform.KEY_SERVER_ID server_id 服务器 ID
BCoreConst.platform.KEY_SERVER_NAME server_name 服务器名称
BCoreConst.platform.KEY_OP_SID opSid 渠道服务器 ID
BCoreConst.platform.KEY_ROLE_CREATE_TIME roleCreateTime 创建角色时间,必须使用服务器时间,单位/s
BCoreConst.platform.FUNC_HAS_FORUM hasForum 是否有论坛
BCoreConst.platform.FUNC_OPEN_FORUM openForum 打开论坛
BCoreConst.platform.FUNC_HAS_USER_CENTER hasUserCenter 是否有用户中心
BCoreConst.platform.FUNC_OPEN_USER_CENTER openUserCenter 打开用户中心
BCoreConst.platform.FUNC_HAS_CUSTOMER_SERVICE hasCustomerService 是否有客服
BCoreConst.platform.FUNC_OPEN_CUSOMER_SERVICE openCustomerService 打开客服
BCoreConst.platform.FUNC_EXIT exit 关闭游戏
BCoreConst.platform.FUNC_OPEN_LOGIN_PAGE openLoginPage 打开登录页面
BCoreConst.platform.FUNC_OPEN_HOME_PAGE openHomePage 打开游戏首页
BCoreConst.platform.FUNC_REPORT report 添加埋点方法名
BCoreConst.platform.KEY_EVENT_ID event_id 事件 ID