收藏
回答

V3预支付订单 签名无法通过

1.接口:v3/pay/transactions/jsapi

"POST", Url, 时间戳, 随机数, 请求body数据,验签数据与本地工具生成的签名相同,

2.签名前数据:

POST

v3/pay/transactions/jsapi

1689469652

HMzxj20230716090732972636

{"amount":{"total":1,"currency":"CNY"},"appid":"wx3e16bbd23533223e","description":"yudingdan","mchid":"1647623137","notify_url":"https://zxj.hmifly.com/zxj/payNotify","out_trade_no":"WEGPT0000120230716090725705140","payer":{"openid":"oPs3w007w6EDzesldHDXAwUg1ocE"}}

3.签名结果与本地工具签名相同

Authorization=WECHATPAY2-SHA256-RSA2048 mchid="1647623137",serial_no="60CC0179A40B92C3FACA19EA8E574D1226C43DCA",nonce_str="HMzxj20230716081151868550",timestamp="1689466311",signature="uQssiV6hqju5ruLWbtMkpTlTZQ88dgVjLZ7vqUGx6bINgOYItwM6YS8oBB5kPgrXkTf2jhk1/ldc+7bphSOGiD/HWO8sOpBnQ8YeZMiLkEwQtf0xz8goqM87/5A3BuySxILFkJZO9o/nQzoX/CP5UpTxB+TIR8FD3h9CEp7zvpVWiWDrO4OT3xFT+/ZP4ZtdJa+llcKpEhbBndGdCcSt5hFmJp2YLkY1wDiQqJ6ZndLBjXpe+FWlF6c7kgZ8+ez+jdRAbLByrckgTSFn2X70DSPmiTpKa6gx7FIBenAic1BD1TPAVXY5Kpn6C7IRRf49NLByxZtUPqpZlPuK2BuUSQ=="

4.接口返回报错:

{

    "code""SIGN_ERROR",

    "detail": {

        "detail": {

            "issue""sign not match"

        },

        "field""signature",

        "location""authorization",

        "sign_information": {

            "method""POST",

            "sign_message_length"431,

            "truncated_sign_message""POST\n/v3/pay/transactions/jsapi\n1689466311\nHMzxj20230716081151868550\n{\r\n    \"\n",

            "url""/v3/pay/transactions/jsapi"

        }

    },

    "message""签名错误,请检查后再试"

}


最后一次编辑于  2023-07-16
回答关注问题邀请回答
收藏

2 个回答

  • Memory
    Memory
    2023-07-16

    获取请求的绝对URL,并去除域名部分得到参与签名的URL。你取值不对,应该是/v3/pay/transactions/jsapi

    2023-07-16
    有用 2
    回复 1
    • 宁静致远
      宁静致远
      2023-07-16
      OK了,就这一个/搞了小两天了,感谢!
      2023-07-16
      回复
  • 㐅卝
    㐅卝
    发表于小程序端
    2023-07-16

    请认真阅读官方文档

    2023-07-16
    有用
    回复
登录 后发表内容