开发 API 虚拟支付 支付
# 支付
更新时间:2025-07-22 21:08:16
# ks.requestGamePayment(Object obejct)
前端接口
支付接口,回调结果并不代表购买流程完成,需要游戏服务器确定支付结果。
# 注意事项
使用 ks.requestGamePayment 下单时,服务器回调 字段包含 open_id(参与签名),不包含 game_user_id 。开发者从 ks.requestPayment 更新到 ks.requestGamePayment 时,务必同步更新服务器回调
如果iOS报错“用户id无效”,错误码113,请先调用登录;
# 参数
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表示非消耗型(不参与签名) | |
| goods_category | string | 商品类目 必填 获取地址 (opens new window)(需要登录开放平台)例如:10010(不参与签名)(注意事项:2025.7.14前就上线了支付功能的游戏,需要测试是否正确,联系运营对测试账号进行加白,2025.7.14后上线支付功能的无需加白) | |
| goods_name | string | 道具名称 必填,厂商自定义(不参与签名),例如:首充奖励 | |
| 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);
上一篇:《ks.shareAppMessage》
下一篇:《查询余额》
仍有疑问? 前往社区提问