开发者和主办方交互图
订单回调流程.png
开发者小程序支付页跳回活动页路径:pages/home/index?token=xxxx
订单完成回调接口
接口地址: /ma/grs/activity/shoppingcb
方法:POST
Content-Type: application/json
入参(Body):
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| app_key | string | 是 | 开发者appKey | bfcruxugIyhfgQ6EncidcTng60hlFKNY |
| token | string | 是 | 百度侧唯一标识(从前端获取) | 5899593990598270250 |
| order_id | string | 是 | 用户订单id(开发者侧) | |
| uid | string | 是 | 用户id(开发者侧) | 1920212 |
| phone | string | 否 | 电话(开发者侧) | 13987221144 |
| total_fee | int | 是 | 订单金额(开发者侧),单位为分 | 1000 |
| product_name | string | 是 | 商品名称(开发者侧) | 月卡 |
| sign | string | 是 | 参数签名,签名方法见底部 | 9C88D06ABC6B022176DB06564F545223 |
响应:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| request_id | string | 是 | 请求id |
| errno | int | 是 | 错误代码(0代表成功,非0代表失败) |
| errmsg | string | 是 | 错误消息 |
请求参数示例:
{
"app_key": "bfcruxugIyhfgQ6EncidcTng60hlFKNY",
"token": "5899593990598270250",
"order_id": "12332920111",
"uid": "1920212",
"phone": "13987221144",
"total_fee": 1000,
"product_name": "月卡",
"sign": "9C88D06ABC6B022176DB06564F545223",
}
响应示例:
{
"request_id": "2859042714",
"errno": 0,
"errmsg": "succ"
}
token验证接口
接口地址: /ma/grs/activity/check_token
方法:POST
Content-Type: application/json
入参(Body):
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| app_key | string | 是 | 开发者appKey | bfcruxugIyhfgQ6EncidcTng60hlFKNY |
| token | string | 是 | 百度侧唯一标识(从前端获取) | 5899593990598270250 |
| sign | string | 是 | 参数签名,签名方法见底部 | 9C88D06ABC6B022176DB06564F545223 |
响应:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| request_id | string | 是 | 请求id |
| errno | int | 是 | 错误代码(0代表请求成功,非0代表请求失败,需重试) |
| errmsg | string | 是 | 错误消息 |
| data | object | 是 |
{"valid": 1} 值为1代表token合法,非0代表不合法 |
请求参数示例:
{
"app_key": "bfcruxugIyhfgQ6EncidcTng60hlFKNY",
"token": "5899593990598270250",
"sign": "9C88D06ABC6B022176DB06564F545223"
}
响应示例:
{
"request_id": "2859042714",
"errno": 0,
"errmsg": "succ",
"data": {
"valid": 1
}
}
签名方法:
把参数以key1=value1&key2=value2...方式连接起来(按key的ascii排序,不包含sign字段),接着在后面拼接小程序密钥(<span style='color:red'>&app_secret=value</span>),最后对拼接好的字符串计算md5得到签名参数sign(需要转换成大写)
注意:非必填参数也要加入签名串
1、示例:
md5("app_key=bfcruxugIyhfgQ6EncidcTng60hlFKNY&order_id=12332920111&phone=13987221144&product_name=月卡&token=5899593990598270250&total_fee=1000&uid=654322211&app_secret=Ad3d319fDw8d189dklwc")
2、PHP代码示例:
function getSign($getArr, $app_secret){
ksort($getArr);
$paramStr = implode('&', $getArr);
$app_secret = 'app_secret='.$app_secret;
$sign = strtoupper( md5( $paramStr.app_secret ) );// 大写md5值
return $sign;
}







网友评论