类 WechatPayCallback


  • public class WechatPayCallback
    extends Object
    微信支付回调工具.

    注意:开发者应该保证回调调用的幂等性

    支付通知http应答码为200或204才会当作正常接收,当回调处理异常时,应答的HTTP状态码应为500,或者4xx。

    作者:
    youta
    • 字段详细资料

      • MAPPER

        private static final com.fasterxml.jackson.databind.ObjectMapper MAPPER
        The constant MAPPER.
      • signatureProvider

        private final SignatureProvider signatureProvider
        The Signature provider.
      • tenantId

        private final String tenantId
        The Tenant id.
    • 构造器详细资料

      • WechatPayCallback

        public WechatPayCallback​(SignatureProvider signatureProvider,
                                 String tenantId)
        Instantiates a new Wechat pay callback.
        参数:
        signatureProvider - the signature provider
        tenantId - the tenant id
    • 方法详细资料

      • profitSharingCallback

        public Map<String,​?> profitSharingCallback​(ResponseSignVerifyParams params,
                                                         java.util.function.Consumer<ProfitSharingConsumeData> consumeDataConsumer)
        微信支付分账回调.
        参数:
        params - the params
        consumeDataConsumer - the consume data consumer
        返回:
        the map
      • couponCallback

        public Map<String,​?> couponCallback​(ResponseSignVerifyParams params,
                                                  java.util.function.Consumer<CouponConsumeData> consumeDataConsumer)
        微信支付代金券核销回调.
        参数:
        params - the params
        consumeDataConsumer - the consume data consumer
        返回:
        the map
      • transactionCallback

        public Map<String,​?> transactionCallback​(ResponseSignVerifyParams params,
                                                       java.util.function.Consumer<TransactionConsumeData> consumeDataConsumer)
        微信支付成功回调,在1.0.8.RELEASE时支持服务商模式支付回调通知

        无需开发者判断,只有扣款成功微信才会回调此接口

        参数:
        params - the params
        consumeDataConsumer - the consume data consumer
        返回:
        the map
      • combineTransactionCallback

        public Map<String,​?> combineTransactionCallback​(ResponseSignVerifyParams params,
                                                              java.util.function.Consumer<CombineTransactionConsumeData> consumeDataConsumer)
        微信合单支付成功回调.

        无需开发者判断,只有扣款成功微信才会回调此接口

        参数:
        params - the params
        consumeDataConsumer - the consume data consumer
        返回:
        the map
      • payscoreUserOrderCallback

        public Map<String,​?> payscoreUserOrderCallback​(ResponseSignVerifyParams params,
                                                             PayScoreConsumer payScoreConsumer)
        微信支付分确认订单、支付成功回调通知.

        该链接是通过商户 创建支付分订单 提交notify_url参数,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。 通知url必须为直接可访问的url,不能携带参数。示例: “https://pay.weixin.qq.com/wxpay/pay.action”

        参数:
        params - the params
        payScoreConsumer - the pay score consumer
        返回:
        the map
      • permissionCallback

        public Map<String,​?> permissionCallback​(ResponseSignVerifyParams params,
                                                      java.util.function.Consumer<PayScoreUserPermissionConsumeData> consumeDataConsumer)
        授权/解除授权服务回调通知API.

        微信支付分通过授权/解除授权服务通知接口将用户过授权/解除授权服务消息通知给商户

        普通授权模式是通过[商户入驻配置申请表]提交service_notify_url设置,预授权模式是通过[商户预授权]提交的notify_url设置,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。 通知url必须为直接可访问的url,不能携带参数。示例: “https://pay.weixin.qq.com/wxpay/pay.action”

        参数:
        params - the params
        consumeDataConsumer - the consume data consumer
        返回:
        the map
      • discountCardCallback

        public Map<String,​?> discountCardCallback​(ResponseSignVerifyParams params,
                                                        DiscountCardConsumer discountCardConsumer)
        用户领卡、守约状态变化、扣费状态变化通知API

        用户领取优惠卡后或者用户守约状态发生变更后或扣费状态变化后,微信会把对应信息发送给商户。

        该链接是通过商户预受理领卡请求中提交notify_url参数,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。 通知url必须为直接可访问的url,不能携带参数。示例: “https://pay.weixin.qq.com/wxpay/pay.action”

        参数:
        params - the params
        discountCardConsumer - the discount card consumer
        返回:
        the map
      • busiFavorReceiveCallback

        public Map<String,​?> busiFavorReceiveCallback​(ResponseSignVerifyParams params,
                                                            java.util.function.Consumer<BusiFavorReceiveConsumeData> consumeDataConsumer)
        商家券领券事件回调通知API

        领券完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并按照文档规范返回应答。出于安全的考虑,我们对支付结果数据进行了加密,商户需要先对通知数据进行解密,才能得到支付结果数据。

        该链接是通过商户设置商家券事件通知地址API中提交notify_url参数,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。 通知url必须为直接可访问的url,不能携带参数。示例: “https://pay.weixin.qq.com/wxpay/pay.action”

        参数:
        params - the params
        consumeDataConsumer - the consume data consumer
        返回:
        the map
      • refundCallback

        public Map<String,​?> refundCallback​(ResponseSignVerifyParams params,
                                                  java.util.function.Consumer<RefundConsumeData> consumeDataConsumer)
        退款结果通知API

        退款状态改变后,微信会把相关退款结果发送给商户。

        参数:
        params - the params
        consumeDataConsumer - the consume data consumer
        返回:
        map
      • resolve

        private CallbackParams resolve​(ResponseSignVerifyParams params)
                                throws com.fasterxml.jackson.core.JsonProcessingException
        Resolve callback params.
        参数:
        params - the params
        返回:
        the callback params
        抛出:
        com.fasterxml.jackson.core.JsonProcessingException - the json processing exception
      • decrypt

        private String decrypt​(CallbackParams callbackParams)
        Decrypt.
        参数:
        callbackParams - the callback params
        返回:
        the string