按文档的步骤得到的加密链接如下,参数都换成了自已的。得到的md5加密值与链接里的check_code值不一样。求原因?
另外有两个疑惑:
1、原有链接上有一个时间参数 &t=1683511595129,这个需要加到md5验证参数里面去吗?
2、transaction_id是不是下面这张图里面的交易单号?
下面是文档
1) 通过商家小票链接获取用户订单信息:
点金计划页面打开时,页面上方的 iframe 框架会请求服务商填写的商家小票链接,会在链接后附
上:“特约商户号(sub_mch_id)”、“商户订单号(out_trade_no)”、“md5 校验码
(check_code)”三个字段的信息,方便服务商快速定位到具体订单的同时,也保证链接的可靠
性。
a) 增加参数后的链接格式为:
服务商链接?sub_mch_id=特约商户号&out_trade_no=商户订单号&check_code=
b) 举例:
若服务商配置的链接为 https://www.qq.com,特约商户号为 1234567,商户订单号为
ABCDEFG,则请求的链接为
https://www.qq.com?sub_mch_id=1234567&out_trade_no=ABCDEFG&check_code=
39f0876dd58e4eb61b66250f69d02705
2) 服务商校验 check_code
服务商获取到上述完整链接时,为了保证参数没有被篡改,需要做 MD5 校验。
a) 校验方式
通过链接上的“商户订单号”,到后台获取该订单对应的“微信订单号”,即 transaction_id,
并拼在原有链接后(需去除 check_code,即:服务商链接?sub_mch_id=特约商户号
&out_trade_no=商户订单号&transaction_id=),进行 MD5 计算。
b) 举例
若 transaction_id 为 abcdefg,则 MD5 值为:
String my_check_code =
MD5(“https://www.qq.com?sub_mch_id=1234567&out_trade_no=ABCDEFG&transactio
n_id=abcdefg”);
若 my_check_code 与最初链接参数中的 check_code 相等,说明该链接未被篡改,可正常跳转
到商家小票内容,否则服务商需展示错误提示页。
1、不需要
2、是