订单完成回调接口

2020-09-07  本文已影响0人  WayneJoe

开发者和主办方交互图

订单回调流程.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;
}
上一篇 下一篇

猜你喜欢

热点阅读