# 发起支付
# ks.requestPayment(Object obejct)
支付接口。
支付接口回调结果并不代表购买流程完成,需要游戏服务器确定支付结果。
# 参数
object
属性 | 类型 | 说明 | 是否参与签名 |
---|---|---|---|
success | function | 调用成功的回调函数 | 否 |
fail | function | 调用失败的回调函数 | 否 |
complete | function | 调用完成的回调函数 | 否 |
zone_id | string | 格式:serverId_roleId 即按 区服ID_角色ID 的格式拼接 | 是 |
os | string | 系统 | 是 |
currency_type | string | 货币类型,USD | 是 |
buy_quantity | int | 购买数量 | 是 |
user_ip | string | 用户设备真实ip | 是 |
third_party_trade_no | string | 游戏定义的订单id | 是 |
extension | string | 拓展字段,非必填 | 为非空字符串时参与签名,否则不参与 |
sign | string | 签名信息 签名规则 | 否 |
os的合法值
值 | 说明 | 最低版本 |
---|---|---|
'android' | Android系统 |
currency_type的合法值
值 | 说明 | 最低版本 |
---|---|---|
'USD' | 美金 |
extension的格式
extension可以是任意合法的字符串,用于携带一些业务参数,在接入时请自行决定是否添加。
说明:
在测试阶段,如果希望实现测试包与线上包使用不同的回调地址,extension为对map进行json encode之后的字符串,map的格式为:
{
"customKey": "customValue",
"callbackUrl": "https://xxxgameserver.com/ksgame/pay/success/notify"
}
字段说明:
- customKey、customValue为自定义字段,可根据游戏需要自行添加
- callbackUrl: 充值成功后的回调链接。若extension包含此字段,则在充值成功后,通过此字段来进行充值结果回调,否则使用后台配置的回调链接。
success的参数
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
code | int | 状态码 | |
msg | string | 信息 | |
orderID | string | 订单ID |
fail的参数
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
code | int | 错误码 | |
msg | string | 错误描述 |
# buyQuantity 限制说明
购买游戏币的时候,buyQuantity 不可任意填写,取值只可以为下表中的值。
为同时支持Google支付和三方支付,参数中请指定当地货币(BRL或IDR)和buyQuantity。
buyQuantity 与 用户支付金额关系如下:
buyQuantity | USD 用户支付金额(单位:美分 ) | BRL 巴西雷亚尔(单位:分) | IDR 印度尼西亚卢比(分) |
---|---|---|---|
99 | 99 | 499 | 1500000 |
199 | 199 | 899 | 2800000 |
299 | 299 | 1499 | 4500000 |
399 | 399 | 1999 | 6200000 |
499 | 499 | 2399 | 7300000 |
599 | 599 | 2799 | 7900000 |
699 | 699 | 3499 | 9900000 |
799 | 799 | 3999 | 10900000 |
999 | 999 | 5099 | 15900000 |
1099 | 1099 | 5499 | 16900000 |
1499 | 1499 | 7299 | 22900000 |
1999 | 1999 | 9999 | 30900000 |
2599 | 2599 | 12499 | 39900000 |
2999 | 2999 | 14999 | 44900000 |
3599 | 3599 | 16999 | 49900000 |
3999 | 3999 | 20499 | 59000000 |
4999 | 4999 | 25999 | 79000000 |
5999 | 5999 | 27999 | 89000000 |
6999 | 6999 | 32999 | 99000000 |
7999 | 7999 | 34999 | 119000000 |
8999 | 8999 | 42999 | 139000000 |
9999 | 9999 | 49999 | 149000000 |
# 示例代码
let model = getOrderFromServer();//从服务器获取订单,包含签名
let params = {};
params.success = (result) => {
this.content.string = "支付结果: " + JSON.stringify(result);
}
params.fail = (result) => {
this.content.string = "支付失败: " + JSON.stringify(result);
}
params.zone_id = model.zone_id
params.os = model.os
params.currency_type = model.currency_type
params.buy_quantity = model.buy_quantity
params.user_ip = model.user_ip
params.third_party_trade_no = model.third_party_trade_no
params.extension = model.extension
params.sign = model.sign
ks.requestPayment(params);