# WechatPayCallback (payment-spring-boot-autoconfigure 1.0.6.RELEASE API)
Date: 2021-02-04

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