签名生成规则
请求参数签名
dev_key
和 dev_secret
来签名请求参数:{
"dev_key": "YC9OB9QF76WJ7YMI9C4QVZV01OZPAGHN",
"dev_secret": "DF2075B439B7B7BBFE0708E174B8994B",
}
1. 参数筛选
sign
、sign_type
、key
的参数及参数值为 ''
或 null
的参数。dev_secret
参数直接加入到请求参数中。{
"version": 1,
"timestamp": 1527132222,
"team_token": "HCDJ3DVM9LM9FTNZ",
"dev_key": "YC9OB9QF76WJ7YMI9C4QVZV01OZPAGHN",
"ticket": "017AC3A2-D071-6674-79D3-D847E2EB405B",
"body": "{\"pay_status\":1,\"pay_fee\":1.66}"
}
筛选只会剔除空值的参数
:{
"version": 1,
"timestamp": 1527132222,
"team_token": "HCDJ3DVM9LM9FTNZ",
"dev_key": "YC9OB9QF76WJ7YMI9C4QVZV01OZPAGHN",
"ticket": "017AC3A2-D071-6674-79D3-D847E2EB405B",
"body": "{\"pay_status\":1,\"pay_fee\":1.66}"
}
2. 参数排序
{
"body": "{\"pay_status\":1,\"pay_fee\":1.66}",
"dev_key": "YC9OB9QF76WJ7YMI9C4QVZV01OZPAGHN",
"team_token": "HCDJ3DVM9LM9FTNZ",
"ticket": "017AC3A2-D071-6674-79D3-D847E2EB405B",
"timestamp": 1527132222,
"version": 1
}
3. 参数拼接
1.
body={"pay_status":1,"pay_fee":1.66}&dev_key=YC9OB9QF76WJ7YMI9C4QVZV01OZPAGHN&team_token=HCDJ3DVM9LM9FTNZ&ticket=017AC3A2-D071-6674-79D3-D847E2EB405B×tamp=1527132222&version=1
4. 签名
使用上面拼接好的参数拼接上 开发者 secret
:md5("body={\"pay_status\":1,\"pay_fee\":1.66}&dev_key=YC9OB9QF76WJ7YMI9C4QVZV01OZPAGHN&team_token=HCDJ3DVM9LM9FTNZ&ticket=017AC3A2-D071-6674-79D3-D847E2EB405B×tamp=1527132222&version=1DF2075B439B7B7BBFE0708E174B8994B")
# 结果为:
37f7ea0b45d49dc2acf211b7194649d0
sign
参数的值)为:37f7ea0b45d49dc2acf211b7194649d0
返回参数验证签名
notify_url
),当快跑者订单的状态发生变化时,会回调该地址,请开发者对快跑者回调传递的参数进行验证签名,以保证接口调用安全。sign
值是否相等,由此进行参数签名验证!