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 |