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