# 支付
# ks.requestGamePayment(Object obejct)
前端接口
支付接口,回调结果并不代表购买流程完成,需要游戏服务器确定支付结果。
# 注意事项
使用 ks.requestGamePayment 下单时,服务器回调 字段包含 open_id(参与签名),不包含 game_user_id 。开发者从 ks.requestPayment 更新到 ks.requestGamePayment 时,务必同步更新服务器回调
# 参数
Object obejct
| 属性 | 类型 | 说明 | 最低版本 |
|---|---|---|---|
| success | function | 调用成功的回调函数 | |
| fail | function | 调用失败的回调函数 | |
| complete | function | 调用完成的回调函数 | |
| zone_id | string | 请按照 区服ID + “_” + 角色ID 的格式拼接 serverId_roleId (参与签名) | |
| os | string | 系统(参与签名) | |
| currency_type | string | 货币类型(参与签名) | |
| buy_quantity | int | 购买数量(参与签名) | |
| third_party_trade_no | string | 游戏定义的订单id (参与签名) | |
| extension | string | 拓展字段,非必填,当为空时不参与签名,有值时需要参与签名 | |
| product_type | int | iOS支付需要。表示支付的类型,1表示消耗型,2表示非消耗型(不参与签名) | |
| sign | string | 订单签名信息(不参与签名),签名规则 |
os的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| 'android' | Android系统 | |
| 'ios' | iOS系统 | 12.3.10 |
currency_type的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| 'CNY' | 人民币 |
success的参数
| 属性 | 类型 | 说明 | 最低版本 |
|---|---|---|---|
| code | int | 状态码 | |
| msg | string | 信息 | |
| orderID | string | 订单ID |
fail的参数
| 属性 | 类型 | 说明 | 最低版本 |
|---|---|---|---|
| code | int | 错误码 | |
| msg | string | 错误描述 |
# buyQuantity 限制说明
购买游戏币的时候,buyQuantity 不可任意填写,取值只可以为下表中的值。需满足 buyQuantity * 游戏币单价 = 限定的价格等级。游戏币单价固定为 0.1 元,一次购买最少数量是 10。
buyQuantity 与 用户支付金额关系如下:
| buyQuantity | 用户支付金额(单位:元 ) |
|---|---|
| 10 | 1 |
| 30 | 3 |
| 60 | 6 |
| 80 | 8 |
| 120 | 12 |
| 180 | 18 |
| 250 | 25 |
| 300 | 30 |
| 400 | 40 |
| 450 | 45 |
| 500 | 50 |
| 600 | 60 |
| 680 | 68 |
| 730 | 73 |
| 780 | 78 |
| 880 | 88 |
| 980 | 98 |
| 1080 | 108 |
| 1180 | 118 |
| 1280 | 128 |
| 1480 | 148 |
| 1680 | 168 |
| 1880 | 188 |
| 1980 | 198 |
| 3280 | 328 |
| 6480 | 648 |
| 9980 | 998 |
| 19980 | 1998 |
| 29980 | 2998 |
# 示例代码
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.third_party_trade_no = model.third_party_trade_no
params.extension = model.extension
params.sign = model.sign
ks.requestGamePayment(params);