服务端SDK对接
当前版本:332
更新时间:2022-07-15
更新内容:1、界面调整优化 2、修复相关bug
SDK下载

支付回调说明

在玩家充值完成之后,平台将向回调地址发出通知,Android和iOS可使用同一个回调地址,也可区分回调地址。

1验签

平台发出的参数举例:

{ "order_id":"1568872988169555757",
"mem_id":"xh_15944319",
"app_id":"63012",
"money":"1.00",
"order_status":"2",
"paytime":"1568872988",
"attach":"38620190919140306377854493",
"sign":"8d6718b498ea57c0b734a439c9bd12b5"
}

参数 说明
order_id 平台订单ID
mem_id 平台小号ID
app_id 平台游戏ID
money 订单充值金额
order_status 订单状态 (1:待处理,2:支付成功,3:失败)
paytime 订单支付时间
attach CP附加参数

最后的sign是由前面的参数再加上appkey拼接计算所得,每个游戏对应不同的appkey,接收到回调后由app_id获得对应的appkey。
$appkey = '由app_id获取appkey';
$paramstr = "order_id=" . $order_id . "&mem_id=" . $mem_id . "&app_id=" . $app_id . "&money=" . $money . "&order_status =" . $order_status . "&paytime=" . $paytime . "&attach=" . $attach . "&app_key=" . $appkey;
$verrifysign = md5($paramstr);

回调状态 返回内容
成功 SUCCESS
失败 FAILURE

2校验订单金额

玩家可能通过各种方式在支付过程中修改金额,所以最终回调时必须验证金额是否匹配

$trueMoney ='由attach获取该订单实际金额';

由于php浮点数精度问题,最好统一转成整数之后再对比

if (intval(round($trueMoney * 100)) != intval(round($money * 100))) {
 exit($fail);
}