Appearance
支付相关
WARNING
支付接口中的参数,请不要传空值,请按实际值传入,否则影响数据的统计。
支付
当玩家点击游戏内商品充值项时,调用支付接口:
js
var orderData = {
price: 100, //当前支付金额(单位:分)
productID: '商品ID',
productName: '商品名称',
productDesc: '商品描述',
serverID: '服务器ID',
serverName: '服务器名称',
roleID: '角色ID',
roleName: '角色名称',
roleLevel: '角色等级',
vip: '玩家VIP等级',
cpOrderID: '游戏订单号',
extra: "自定义数据,回调通知时原样返回",
payNotifyUrl: '游戏支付回调URL,不传的话,使用SDK后台配置的'
};
window.XSDKApi.pay(orderData, function(result){
if (result && result.code == 0) {
console.log('sdk pay success')
} else {
console.log('sdk pay failed')
}
});
OrderData对象的结构说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
productID | String | 充值商品ID,游戏内的商品ID |
productName | String | 商品名称,比如100元宝,500钻石... |
productDesc | String | 商品描述,比如 充值100元宝,赠送20元宝 |
price | int | 充值金额(单位:分) |
serverID | String | 玩家所在服务器的ID |
serverName | String | 玩家所在服务器的名称 |
roleID | String | 玩家角色ID |
roleName | String | 玩家角色名称 |
roleLevel | int | 玩家角色等级 |
vip | String | 玩家vip等级 |
payNotifyUrl | String | 游戏服务器支付回调地址,支付成功后,SDKServer根据该地址,通知游戏服务器发货;如果不设置,使用SDK后台配置的固定回调地址 |
cpOrderID | String | 游戏自己的订单号;支付成功之后,SDKServer通知游戏服务器时,原样返回给游戏服务器 |
extra | String | 扩展数据;支付成功之后,SDK Server通知游戏服务器时,原样返回给游戏服务器 |
处理支付回调事件
当SDK支付完成时,会通过第二个回调函数参数,通知给游戏层。
js
function(result){
if (result && result.code == 0) {
console.log('sdk pay success')
} else {
console.log('sdk pay failed')
}
}
处理服务端发货通知
玩家在客户端支付成功后, 各个渠道平台都会通知给U8聚合SDK服务端。 接着, U8聚合SDK服务端会按统一的协议通知给游戏服务器。
游戏服务器需要实现服务端->支付回调通知协议,用来接收U8聚合SDK的发货通知请求。
收到请求并验证通过后, 才能给玩家发放道具。