收藏
回答

微信支付V3版 小程序支付-支付通知接口,多商户下如何知道回调通知的是那个商户的订单?

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_5.shtml

微信支付V3版 小程序支付-支付通知接口,需要解密后才知道是那个商户,我们系统需要支持多商户,通知接口请求的数据解密前没有标识是那个商户,我如何知道用那个商户的V3API秘钥去解密?V2版本的通知接口是支持的,难道退步了?

V3版通知解密前数据:

{
    "id":"EV-2018022511223320873",
    "create_time":"2015-05-20T13:29:35+08:00",
    "resource_type":"encrypt-resource",
    "event_type":"TRANSACTION.SUCCESS",
    "resource":{
        "algorithm":"AEAD_AES_256_GCM",
        "ciphertext":"...",
        "nonce":"...",
        "original_type":"transaction",
        "associated_data":""
    },
    "summary":"支付成功"
}


V2版通知解密前数据:

<xml>

  <appid><![CDATA[wx2421bxxxx1**c43c43b]]></appid>

  <attach><![CDATA[支付测试]]></attach>

  <bank_type><![CDATA[CFT]]></bank_type>

  <fee_type><![CDATA[CNY]]></fee_type>

  <is_subscribe><![CDATA[Y]]></is_subscribe>

  <mch_id><![CDATA[100xxxx77**00]]></mch_id>

  <nonce_str><![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]></nonce_str>

  <openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid>

  <out_trade_no><![CDATA[1409811653]]></out_trade_no>

  <result_code><![CDATA[SUCCESS]]></result_code>

  <return_code><![CDATA[SUCCESS]]></return_code>

  <sign><![CDATA[B552ED6B279343CB493C5DD0D78AB241]]></sign>

  <time_end><![CDATA[20140903131540]]></time_end>

  <total_fee>1</total_fee>

  <coupon_fee><![CDATA[10]]></coupon_fee>

  <coupon_count><![CDATA[1]]></coupon_count>

  <coupon_type><![CDATA[CASH]]></coupon_type>

  <coupon_id><![CDATA[10000]]></coupon_id>

  <trade_type><![CDATA[JSAPI]]></trade_type>

  <transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>

</xml>

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

2 个回答

  • 幸福满天下
    幸福满天下
    2023-07-12

    商户可提前自行将所有商户号的微信支付平台证书序列号和商户号进行一对一存储,在收到回调报文时,通过HTTP头部Wechatpay-Serial中的微信支付平台证书序列号,与现已存储好的微信支付平台证书序列号进行对比,就可以得到回调对应的商户号从而获取到对应的APIV3Key进行解密

    2023-07-12
    有用 1
    回复
  • 一九七七
    一九七七
    2021-01-13

    2021-01-13
    有用
    回复 10
    • 边城
      边城
      2021-01-13
      我们的系统支持多商户,有多个商户apiv3key,现在微信回调我,都不知道用那个商户的apiv3key 去解密,他们v2版本的回调是支持的,解密前知道是那个商户id
      2021-01-13
      回复
    • 边城
      边城
      2021-01-13回复边城
      我现在想到的方法之一是给微信的回调url里面带上我的商户标识,后面回调我 我就知道是那个商户的交易,他们这接口格局小了点
      2021-01-13
      回复
    • 一九七七
      一九七七
      2021-01-13
      使用动态地址
      2021-01-13
      1
      回复
    • 杨
      2021-03-04回复边城
      你们那边解决多商户的问题了嘛,大神
      2021-03-04
      回复
    • 羲涿
      羲涿
      2022-10-21回复边城
      对,不然直接死循环了。不过动态url可以解决,就是不知道这样安全吗 :-)
      2022-10-21
      回复
    查看更多(5)
登录 后发表内容
问题标签