微信商家券V3版本领券回调,签名验证-JAVA

先附上官方文档:微信支付-开发者文档

一.微信商家券回调参数样式

1.微信回调的参数分两部分,这里两部分参数都要用的!

A.Body

{ 
    "id":"8b33f79f-8869-5ae5-b41b-3c0b59f957d0",
    "create_time":"2019-12-12T16:54:38+08:00",
    "resource_type":"encrypt-resource",
    "event_type":"COUPON.SEND",
    "summary":"商家券领券通知",
    "resource":{
        "original_type":"coupon",
        "algorithm":"AEAD_AES_256_GCM",
        "ciphertext":"xxx",
        "associated_data":"coupon",
        "nonce":"j9g1wAzF9Xn1"
     } 
} 

B.请求头

这里只取用的请求头

Wechatpay-Nonce: c5ac7061fccab6bc5ac7061fccab6bc
Wechatpay-Signature: CtcbzwtQjN8rnOXItEBJ5aQFSnIXESeV28Pr2YEmf9wsDQ8Nx25ytW6FXBCAFdrr0mgqngX3AD9gNzjnNHzSGTPBSsaEkIfhPF4b8YRRTpny88tNLyprXA0GU5ID3DkZHpjFkX1hAp/D0fva2GKjGRLtvYbtUk/OLYqFuzbjt3yOBzJSKQqJsvCtcbzwtQjN8rnOXItEBJ5aQFSnIXESeV28Pr2YEmf9wsDQ8Nx25ytW6FXBCAFdrr0mgqngX3AD9gNzjnNHzSGTPBSsaEkIfhPF4b8YRRTpny88tNLyprXA0GU5ID3DkZHpjFkX1hAp/D0fva2GKjGRLtvYbtUk/O==
Wechatpay-Timestamp: 1555555555
Wechatpay-Serial: 5157F09EFDC096DE155157F09EFDC096DE15EB11

2.接受回调参数,建议采用注解,不同公司封装不同的不一定接收到参数

@RequestBody String body,
@RequestHeader("Wechatpay-Serial") String wechatpaySerial,
@RequestHeader("Wechatpay-Signature") String wechatpaySignature,
@RequestHeader("Wechatpay-Timestamp") String wechatpayTimestamp,
@RequestHeader("Wechatpay-Nonce") String wechatpayNonce)

官方文档用的是CloseableHttpResponse response接收参数的,body= response.getBody

二.上代码,采用的是实时刷新在线证书临时缓存证书的方式,不需要读取本地证书

1.接收参数

@ApiOperation("微信商家券领券事件回调通知API")
    @RequestMapping(value="/callback")
    Map<String, String> stockCouponsReceiveCallback(@RequestBody String params,
                                                    @RequestHeader("Wechatpay-Serial") String wechatpaySerial,
                                                    @RequestHeader("Wechatpay-Signature") String wechatpaySignature,
                                                    @RequestHeader("Wechatpay-Timestamp") String wechatpayTimestamp,
                                                    @RequestHeader("Wechatpay-Nonce") String wechatpayNonce);

2.方法实现

   @Override
    public Map<String, String> stockCouponsReceiveCallback(String postData,
                                                           String wechatpaySerial,
                                                           String wechatpaySignature,
                          
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值