cn.felord.payment.wechat.v3

## 类 WechatPayCallback

- java.lang.Object
- - cn.felord.payment.wechat.v3.WechatPayCallback

-     public class WechatPayCallback
      extends Object

  微信支付回调工具.

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

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

  从以下版本开始:
    1.0.0.RELEASE
  作者:
    felord.cn

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `(专用程序包) static class` | `WechatPayCallback.EventType` 事件类型用于处理回调.

  - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `private static com.fasterxml.jackson.databind.ObjectMapper` | `MAPPER` The constant MAPPER.
    `private SignatureProvider` | `signatureProvider` The Signature provider.
    `private String` | `tenantId` The Tenant id.

  - ### 构造器概要

    构造器
    构造器和说明
    `WechatPayCallback(SignatureProvider signatureProvider, String tenantId)` Instantiates a new Wechat pay callback.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `Map<String,?>` | `busiFavorReceiveCallback(ResponseSignVerifyParams params, Consumer<BusiFavorReceiveConsumeData> consumeDataConsumer)` 商家券领券事件回调通知API 领券完成后，微信会把相关支付结果和用户信息发送给商户，商户需要接收处理，并按照文档规范返回应答。
    `private String` | `callback(ResponseSignVerifyParams params, WechatPayCallback.EventType eventType)` Callback.
    `Map<String,?>` | `combineTransactionCallback(ResponseSignVerifyParams params, Consumer<CombineTransactionConsumeData> consumeDataConsumer)` 微信合单支付成功回调.
    `Map<String,?>` | `couponCallback(ResponseSignVerifyParams params, Consumer<CouponConsumeData> consumeDataConsumer)` 微信支付代金券核销回调.
    `private String` | `decrypt(CallbackParams callbackParams)` Decrypt.
    `Map<String,?>` | `discountCardCallback(ResponseSignVerifyParams params, DiscountCardConsumer discountCardConsumer)` 用户领卡、守约状态变化、扣费状态变化通知API 用户领取优惠卡后或者用户守约状态发生变更后或扣费状态变化后，微信会把对应信息发送给商户。
    `Map<String,?>` | `payscoreUserOrderCallback(ResponseSignVerifyParams params, PayScoreConsumer payScoreConsumer)` 微信支付分确认订单、支付成功回调通知.
    `Map<String,?>` | `permissionCallback(ResponseSignVerifyParams params, Consumer<PayScoreUserPermissionConsumeData> consumeDataConsumer)` 授权/解除授权服务回调通知API.
    `Map<String,?>` | `refundCallback(ResponseSignVerifyParams params, Consumer<RefundConsumeData> consumeDataConsumer)` 退款结果通知API 退款状态改变后，微信会把相关退款结果发送给商户。
    `private CallbackParams` | `resolve(ResponseSignVerifyParams params)` Resolve callback params.
    `Map<String,?>` | `transactionCallback(ResponseSignVerifyParams params, Consumer<TransactionConsumeData> consumeDataConsumer)` 微信支付成功回调.

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### 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

  - ### 方法详细资料

    - #### couponCallback

          public Map<String,?> couponCallback(ResponseSignVerifyParams params,
                                              Consumer<CouponConsumeData> consumeDataConsumer)

      微信支付代金券核销回调.
      参数:
        `params` - the params
        `consumeDataConsumer` - the consume data consumer
      返回:
        the map
      从以下版本开始:
        1.0.0.RELEASE

    - #### transactionCallback

          public Map<String,?> transactionCallback(ResponseSignVerifyParams params,
                                                   Consumer<TransactionConsumeData> consumeDataConsumer)

      微信支付成功回调.

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

      参数:
        `params` - the params
        `consumeDataConsumer` - the consume data consumer
      返回:
        the map
      从以下版本开始:
        1.0.0.RELEASE

    - #### combineTransactionCallback

          public Map<String,?> combineTransactionCallback(ResponseSignVerifyParams params,
                                                          Consumer<CombineTransactionConsumeData> consumeDataConsumer)

      微信合单支付成功回调.

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

      参数:
        `params` - the params
        `consumeDataConsumer` - the consume data consumer
      返回:
        the map
      从以下版本开始:
        1.0.0.RELEASE

    - #### 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
      从以下版本开始:
        1.0.2.RELEASE

    - #### permissionCallback

          public Map<String,?> permissionCallback(ResponseSignVerifyParams params,
                                                  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,
                                                        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,
                                              Consumer<RefundConsumeData> consumeDataConsumer)

      退款结果通知API

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

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

    - #### callback

          private String callback(ResponseSignVerifyParams params,
                                  WechatPayCallback.EventType eventType)

      Callback.
      参数:
        `params` - the params
        `eventType` - the event type
      返回:
        the string

    - #### 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
      从以下版本开始:
        1.0.2.RELEASE

    - #### decrypt

          private String decrypt(CallbackParams callbackParams)

      Decrypt.
      参数:
        `callbackParams` - the callback params
      返回:
        the string
      从以下版本开始:
        1.0.2.RELEASE

Copyright © 2021. All rights reserved.