cn.felord.payment.wechat.v3

## 类 AbstractApi

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

直接已知子类:
  WechatBatchTransferApi, WechatCombinePayApi, WechatDirectPayApi, WechatDiscountCardApi, WechatMarketingBusiFavorApi, WechatMarketingFavorApi, WechatPartnerPayApi, WechatPartnerProfitsharingApi, WechatPayScoreApi, WechatPayScoreParkingApi, WechatProfitsharingApi

    public abstract class AbstractApi
    extends Object

The type Abstract api.

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

### 字段概要

字段
`private com.fasterxml.jackson.databind.ObjectMapper` `mapper` The Mapper.
`private String` `tenantId` The Tenant id.
`private WechatPayClient` `wechatPayClient` The Wechat pay client.

### 构造器概要

构造器
构造器和说明
`AbstractApi(WechatPayClient wechatPayClient, String tenantId)` Instantiates a new Abstract api.

### 方法概要

所有方法 实例方法 具体方法
`private void` `applyObjectMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)` Apply object mapper.
`protected String` `billCsvDownload(String link)` 对账单CSV内容下载，非流文件。
`protected org.springframework.http.ResponseEntity<org.springframework.core.io.Resource>` `billResource(String link)` 调用`/v3/billdownload/file`下载返回的原始文件流
`WechatPayClient` `client()` Client wechat pay client.
`WechatMetaContainer` `container()` Container wechat meta container.
`org.springframework.http.ResponseEntity<org.springframework.core.io.Resource>` `downloadBillResponse(String downloadUrl, String filename)` 调用`/v3/billdownload/file`直接下载为文件.
`org.springframework.http.ResponseEntity<org.springframework.core.io.Resource>` `downloadFundFlowBill(FundFlowBillParams fundFlowBillParams)` 申请资金账单API 微信支付按天提供微信支付账户的资金流水账单文件，商户可以通过该接口获取账单文件的下载地址。
`org.springframework.http.ResponseEntity<org.springframework.core.io.Resource>` `downloadTradeBill(TradeBillParams tradeBillParams)` 申请交易账单API 返回值直接返回前端，会下载tradebill-前缀加上日期的txt文件（默认）或者gzip文件。
`protected org.springframework.http.RequestEntity<?>` `Get(URI uri)` 构建Get请求对象.
`protected org.springframework.http.RequestEntity<?>` `Get(URI uri, org.springframework.http.HttpHeaders httpHeaders)` 构建Get请求对象.
`com.fasterxml.jackson.databind.ObjectMapper` `getMapper()` Gets mapper.
`protected org.springframework.http.RequestEntity<?>` `Patch(URI uri, Object params)` 构建Post请求对象.
`protected org.springframework.http.RequestEntity<?>` `Post(URI uri, Object params)` 构建Post请求对象.
`protected org.springframework.http.RequestEntity<?>` `Post(URI uri, Object params, org.springframework.http.HttpHeaders httpHeaders)` 构建Post请求对象.
`String` `tenantId()` Tenant id string.
`WechatMetaBean` `wechatMetaBean()` Wechat meta bean wechat meta bean.

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

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

### 字段详细资料

#### mapper

    private final com.fasterxml.jackson.databind.ObjectMapper mapper

The Mapper.

#### wechatPayClient

    private final WechatPayClient wechatPayClient

The Wechat pay client.

#### tenantId

    private final String tenantId

The Tenant id.

### 构造器详细资料

#### AbstractApi

    public AbstractApi(WechatPayClient wechatPayClient,
                       String tenantId)

Instantiates a new Abstract api.

参数:
  `wechatPayClient` - the wechat pay client
  `tenantId` - the tenant id

### 方法详细资料

#### applyObjectMapper

    private void applyObjectMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)

Apply object mapper.

参数:
  `mapper` - the mapper

#### getMapper

    public com.fasterxml.jackson.databind.ObjectMapper getMapper()

Gets mapper.

返回:
  the mapper

#### client

    public WechatPayClient client()

Client wechat pay client.

返回:
  the wechat pay client

#### tenantId

    public String tenantId()

Tenant id string.

返回:
  the string

#### container

    public WechatMetaContainer container()

Container wechat meta container.

返回:
  the wechat meta container

#### wechatMetaBean

    public WechatMetaBean wechatMetaBean()

Wechat meta bean wechat meta bean.

返回:
  the wechat meta bean

#### Post

    protected org.springframework.http.RequestEntity<?> Post(URI uri,
                                                             Object params)

构建Post请求对象.

参数:
  `uri` - the uri
  `params` - the params
返回:
  the request entity

#### Post

    protected org.springframework.http.RequestEntity<?> Post(URI uri,
                                                             Object params,
                                                             org.springframework.http.HttpHeaders httpHeaders)

构建Post请求对象.

参数:
  `uri` - the uri
  `params` - the params
  `httpHeaders` - the http headers
返回:
  request entity

#### Get

    protected org.springframework.http.RequestEntity<?> Get(URI uri)

构建Get请求对象.

参数:
  `uri` - the uri
返回:
  the request entity

#### Get

    protected org.springframework.http.RequestEntity<?> Get(URI uri,
                                                            org.springframework.http.HttpHeaders httpHeaders)

构建Get请求对象.

参数:
  `uri` - the uri
  `httpHeaders` - the http headers
返回:
  the request entity

#### Patch

    protected org.springframework.http.RequestEntity<?> Patch(URI uri,
                                                              Object params)

构建Post请求对象.

参数:
  `uri` - the uri
  `params` - the params
返回:
  the request entity

#### billCsvDownload

    protected String billCsvDownload(String link)

对账单CSV内容下载，非流文件。

参数:
  `link` - the link
返回:
  对账单内容 ，有可能为空字符 “”
另请参阅:
  `AbstractApi#billResource(String)AbstractApi#billResource(String)AbstractApi#billResource(String)`

#### downloadTradeBill

    public org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> downloadTradeBill(TradeBillParams tradeBillParams)

申请交易账单API

返回值直接返回前端，会下载tradebill-前缀加上日期的txt文件（默认）或者gzip文件。

微信支付按天提供交易账单文件，商户可以通过该接口获取账单文件的下载地址。文件内包含交易相关的金额、时间、营销等信息，供商户核对订单、退款、银行到账等情况。

注意：

- 微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中，跟原支付单订单号一致；
- 对账单中涉及金额的字段单位为“元”；
- 对账单接口只能下载三个月以内的账单。
- 小微商户不单独提供对账单下载，如有需要，可在调取“下载对账单”API接口时不传sub_mch_id，获取服务商下全量电商二级商户（包括小微商户和非小微商户）的对账单。

参数:
  `tradeBillParams` - tradeBillParams
返回:
  the response entity
从以下版本开始:
  1.0.3.RELEASE

#### downloadFundFlowBill

    public org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> downloadFundFlowBill(FundFlowBillParams fundFlowBillParams)

申请资金账单API

微信支付按天提供微信支付账户的资金流水账单文件，商户可以通过该接口获取账单文件的下载地址。文件内包含该账户资金操作相关的业务单号、收支金额、记账时间等信息，供商户进行核对。

注意：

- 资金账单中的数据反映的是商户微信支付账户资金变动情况；
- 对账单中涉及金额的字段单位为“元”。

参数:
  `fundFlowBillParams` - fundFlowBillParams
返回:
  the response entity
从以下版本开始:
  1.0.3.RELEASE

#### downloadBillResponse

    public org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> downloadBillResponse(String downloadUrl,
                                                                                                              String filename)

调用`/v3/billdownload/file`直接下载为文件.

参数:
  `downloadUrl` - 格式为 `https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx`
  `filename` - 文件名称包含扩展名
返回:
  the response entity

#### billResource

    protected org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> billResource(String link)

调用`/v3/billdownload/file`下载返回的原始文件流

参数:
  `link` - the link
返回:
  response entity