跳到主要内容

支付

提示
  • 调用支付接口前,账号必须登录成功

    游戏无账号功能时,游戏需要提前调用登录接口,通过游客类型账号进行静默注册登录后,再进行后续的支付操作。

  • 支付接口的调用,OmniSDK 做了快速点击间隔处理(800ms);但还是建议游戏增加不可点击的遮罩层,确保一次流程结束再启动下次流程。

  • 商品参数传递完整(商品参数是 OmniSDK 根据所有渠道要求综合定义的)。

  • 商品参数里的 gameOrderId(游戏订单ID)为必传,没有则自己创造一个不可重复的字符串。

支付 API 列表

1.支付

接入代码示例

//创建商品信息
OmniSDKPurchaseOptions opts = OmniSDKPurchaseOptions.builder()
.productId(productId)
// 默认为 普通消耗型商品
.productType(skuType)
.productName(productName)
.productUnitPrice(productPrice)
.purchaseAmount(payAmount)
.purchaseQuantity(1)
.purchaseCallbackUrl(gameCallbackUrl)
.currency(currency)
.gameOrderId(gameOrderId)
.gameRoleId(roleId)
.gameRoleName(roleName)
.gameRoleLevel(roleLevel)
.gameRoleVipLevel(roleVipLevel)
.gameServerId(serverId)
.productDesc(productDesc)
.build();
OmniSDKv3.getInstance().purchase(appActivity, opts);
API 回调结果监听
new OmniSDKListener() {
....
@Override
public void onPurchase(@NonNull OmniSDKResult<OmniSDKPurchaseResult> result) {
if (result.isSuccess()) {
OmniSDKPurchaseResult purchaseResult = result.get();
Log.i(tag, "onPurchase successfully, result = "+purchaseResult);
} else {
OmniSDKError error = result.error();
if (error.getCode() == OmniSDKErrorCode.USER_CANCELLED.getValue()) {
Log.e(tag, "onPurchase cancelled");
} else {
Log.i(tag, "onPurchase Fail : "+error.toString())
}
}
}
...
}

参数描述

OmniSDKPurchaseOptions

字段类型说明
productIdString商品 ID:与所有后台商品 ID保持一致,否则渠道无法拉起支付
productTypeStringOmniSDKProductType(enum class)商品类型INAPP - 普通内购;SUBS - 订阅类型
productNameString商品名称:不能包含特殊字符,包括 # " & / ? $ ^ *:) \ < , = 回车 换行,否则部分渠道无法拉起支付
productDescString商品描述:不能包含特殊字符,包括 # " & / ? $ ^ *:) \ < , = 回车 换行,否则部分渠道无法拉起支付
productUnitPriceDouble商品单价
单位:元、美元,比如 9.99 美元,0.99 港币等
purchaseQuantityInt实际购买数量: 默认为1
purchaseAmountDouble实际支付总额
单位:元、美元;
purchaseCallbackUrlString支付回调地址
如果为空字符串,则使用后台配置的回调地址
gameOrderIdString游戏订单 ID:不可重复的字符串
gameServerIdString服务器 ID
必须为纯数字,且不能超过 2147483647(应用宝渠道要求)
gameZoneIdString大区 ID
gameRoleIdString角色 ID
gameRoleLevelString角色 等级
gameRoleVipLevelString角色 VIP 等级
currencyString实际支付的国际标准货币代码:比如 CNY (人民币) / USD (美元)
extJsonString透传扩展参数
JSON 格式;

返回值

OmniSDKPurchaseResult

参数类型说明
orderIdStringOmniSDK 订单号
gameOrderIdString游戏订单 ID
extJsonString透传扩展参数