收藏
回答

点金计划MD5值计算?

根据文档描述

点金计划页面打开时,页面上方的 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 相等,说明该链接未被篡改,可正常跳转

到商家小票内容,否则服务商需展示错误提示页


计算出来的MD5与返回的MD5不一致,是什么原因?有人遇到过吗,怎么解决的

回答关注问题邀请回答
收藏

2 个回答

  • jf.wang
    jf.wang
    2020-07-28

    助手都是干嘛的,不理人的?

    2020-07-28
    有用 1
    回复
  • Inigo
    Inigo
    2021-03-09

    请问你这是前端做校验吗

    2021-03-09
    有用
    回复
登录 后发表内容
问题标签