Skip to content

支付结果通知

1、方式

POST

2、格式

JSON

3、参数示例&说明

{
        "from": "google",
        "user_id": "50b921ad9755",
        "order_id": "1710926201717",
        "trade_id": "GPA.3370-1939-7063-40360",
        "product_id": "1",
        "money": "1.00",
        "extra_data": "{\"server_id\":\"1\"}",
        "status": 2,
        "completed_at": "2024-03-20 17:16:54",
        "updated_at": "2024-03-20 17:17:00",
        "key": "de0bc37d0b2efac53bd7088e6979ad16",
        "timestamp": 1710926220,
        "sign": "c3b14b8a12373d16e815fd9c2ab71c92"
}
参数名类型必填(非空)说明示例
signstringtrue签名32fa3c87eccafb6885122e57b75440da
timestampinttrue时间戳1710818943
keystringtrue
fromstringtrue来源google
user_idstringfalse用户idaba8b5973834
order_idstringtrue订单id1703757757429
trade_idstringtrue交易号(第三方平台)GPA.3336-3051-9298-45689
product_idstringtrue产品id(第三方平台)1
moneyfloattrue金额1.00
statusinttrue状态:1=未支付,2=已完成,3=支付中,4=已取消或失败2
completed_atdatetimetrue/false支付完成时间2023-10-10 08:08:08
updated_atdatetimetrue更新时间2023-10-10 08:08:08
extra_datajsontrue透传参数extra_data中结构自定义
ipstringtrueIP127.0.0.1
uastringtrueUser agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
platformstringtrue平台ANDROID
brandstringtrue品牌Redmi
modelstringtrue设备型号M1906G7G
os_versionstringtrue系统版本13
is_sandboxinttrue1=沙箱(apple支付)0

需要在sdk平台应用配置中设置支付回调url 注意:status=2或4时,处理完逻辑后请返回success

php
echo "success";

4、接收示例

PHP示例

// 获取POST请求的原始数据
$postData = file_get_contents('php://input');
// 将原始数据解析为关联数组
$data = json_decode($postData, true);

5、签名难证

签名参数

sign

签名算法

将除sign之外的所有参数按键名进行升序排列,然后拼接成字符串(例:k1=v1&k2=v2),再拼接上sdk平台应用密钥,最后用MD5算法加密,得到签名。

PHP示例

php
unset($params['sign']);
// 对数组的值按key排序
ksort($params);
// 生成url的形式,如k1=v1&k2=v2&k3=v3
$paramsStr = urldecode(http_build_query($params));
// 生成sign
//$secret 应用密钥,宝船SDK平台创建应用后自动生成
$sign = md5($paramsStr . $secret);