请求参数签名#
注意,参数请进行动态排序签名。切勿写死顺序进行签名请求。
如果签名失败可以根据接口返回的 signStr 字段进行自行排查问题
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
[] (一个空数组)
获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除sign与sign_type参数和value为空的参数。将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。MD5签名的商户需要将key的值拼接在字符串后面,调用MD5算法生成sign返回参数验证签名#
获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除sign与sign_type参数和value为空的参数。将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。MD5签名的商户需要将key的值拼接在字符串后面,调用MD5算法生成sign签名拼接过程例子#
{
"uid": 1065,
"out_trade_no": "string",
"trade_no": "string",
"product_name": "string",
"order_status": 0,
"third_trade_utr": "string",
"money": "string",
"sign": "string",
"sign_type": "string"
}
2、参数根据字母升序排序 过滤剔除sign与sign_type参数和value为空的参数^ array:7 [
"money" => "string"
"out_trade_no" => "string"
"product_name" => "string"
"third_trade_utr" => "string"
"trade_no" => "string"
"uid" => 1065
]
money=string&out_trade_no=string&product_name=string&third_trade_utr=string&trade_no=string&uid=1065{签名key}
Modified at 2025-10-24 08:55:53