cn.felord.payment.wechat.v3

## 类 WechatPayScoreApi

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

    public class WechatPayScoreApi
    extends AbstractApi

微信支付分API.

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

### 构造器概要

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

### 方法概要

所有方法 实例方法 具体方法
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `cancelServiceOrder(CancelServiceOrderParams params)` 取消支付分订单API 微信支付分订单创建之后，由于某些原因导致订单不能正常支付时，可使用此接口取消订单。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `completeServiceOrder(CompleteServiceOrderParams params)` 完结支付分订单API 前置条件：服务订单状态为“进行中”且订单状态说明需为[USER_CONFIRM:用户确认] 完结微信支付分订单。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `createServiceOrder(UserServiceOrderParams params)` 创建支付分订单API 用户申请使用服务时，商户可通过此接口申请创建微信支付分订单。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `directCompleteServiceOrder(DirectCompleteServiceOrderParams params)` 创单结单合并API 相对需确认模式，免确认模式减少了用户确认授权这步操作，因此在免确认模式下商户无法获取用户的授权状态，为了解决商户的困扰，我们为免确认模式特别提供了查询授权状态和调起授权页面的api接口，这些接口仅在免确认模式下需要调用，且必须调用。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `downloadMerchantBills(PayScoreBillParams billParams)` 商户申请获取对账单API 商户可以调用此接口获取对账单文件的下载链接，并在有效期内请求下载链接可以下载对账单文件。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `modifyServiceOrder(ModifyServiceOrderParams params)` 修改订单金额API 完结订单总金额与实际金额不符时，可通过该接口修改订单金额。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `payServiceOrder(PayServiceOrderParams params)` 商户发起催收扣款API 前置条件：服务订单支付状态处于“待支付”状态 当微信支付分订单支付状态处于“待支付”时，商户可使用该接口向用户发起收款。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `permissions(ServiceOrderPermissionParams params)` 商户预授权API
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `queryPermissionsByAuthCode(PermissionsAuthCodeParams params)` 查询与用户授权记录（授权协议号）API 通过authorization_code，商户查询与用户授权关系
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `queryPermissionsByOpenId(PermissionsOpenIdParams params)` 查询与用户授权记录（openid）API
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `queryServiceOrder(QueryServiceOrderParams params)` 查询支付分订单API 用于查询单笔微信支付分订单详细信息。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `syncServiceOrder(SyncServiceOrderParams params)` 同步服务订单信息API 前提条件：同步商户渠道收款成功信息时，即场景类型=“Order_Paid”，订单的状态需为[MCH_COMPLETE:商户完结订单] 由于收款商户进行的某些“线下操作”会导致微信支付侧的订单状态与实际情况不符。
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `terminatePermissionsByAuthCode(PermissionsAuthCodeParams params)` 解除用户授权关系（授权协议号）API 通过authorization_code，商户解除用户授权关系
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `terminatePermissionsByOpenId(PermissionsOpenIdParams params)` 解除用户授权关系（openid）API
`WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode>` `userServiceState(UserServiceStateParams params)` 微信支付分-查询用户授权状态API（旧版接口）.

### 从类继承的方法 cn.felord.payment.wechat.v3.AbstractApi

`billCsvDownload, billResource, client, container, downloadBillResponse, downloadFundFlowBill, downloadTradeBill, Get, Get, getMapper, Patch, Post, Post, tenantId, wechatMetaBean`

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

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

### 构造器详细资料

#### WechatPayScoreApi

    public WechatPayScoreApi(WechatPayClient wechatPayClient,
                             String tenantId)

Instantiates a new Abstract api.

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

### 方法详细资料

#### userServiceState

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> userServiceState(UserServiceStateParams params)

微信支付分-查询用户授权状态API（旧版接口）.

免确认订单起始接口，【免确认订单模式】是高级接口权限，参见：业务流程说明

用户申请使用服务时，商户可通过此接口查询用户是否“已授权”本服务。在“已授权”状态下的服务，用户才可以申请使用。

参数:
  `params` - the params
返回:
  the wechat response entity

#### createServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> createServiceOrder(UserServiceOrderParams params)

创建支付分订单API

用户申请使用服务时，商户可通过此接口申请创建微信支付分订单。

参数:
  `params` - the params
返回:
  the wechat response entity

#### queryServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> queryServiceOrder(QueryServiceOrderParams params)

查询支付分订单API

用于查询单笔微信支付分订单详细信息。

参数:
  `params` - the params
返回:
  the wechat response entity

#### cancelServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> cancelServiceOrder(CancelServiceOrderParams params)

取消支付分订单API

微信支付分订单创建之后，由于某些原因导致订单不能正常支付时，可使用此接口取消订单。

订单为以下状态时可以取消订单：CREATED（已创单）、DOING（进行中）（包括商户完结支付分订单后，且支付分订单收款状态为待支付USER_PAYING)

注意： • DOING状态包含了订单用户确认、已完结-待支付（USER_PAYING）的状态，因此这种状态下订单也是可以被取消的，请确认当前操作是否正确，防止误操作将完结后需要支付分收款的单据取消。

参数:
  `params` - the params
返回:
  the wechat response entity

#### modifyServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> modifyServiceOrder(ModifyServiceOrderParams params)

修改订单金额API

完结订单总金额与实际金额不符时，可通过该接口修改订单金额。 例如：充电宝场景，由于机器计费问题导致商户完结订单时扣除用户99元，用户客诉成功后，商户需要按照实际的消费金额（如10元）扣费，当服务订单支付状态处于“待支付”时，商户可使用此能力修改订单金额。

注意： • 若此笔订单已收款成功，商户直接使用退款能力，将差价退回用户即可。

• 修改次数>=1，第n次修改后金额 <第n-1次修改后金额

参数:
  `params` - the params
返回:
  the wechat response entity

#### completeServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> completeServiceOrder(CompleteServiceOrderParams params)

完结支付分订单API

前置条件：服务订单状态为“进行中”且订单状态说明需为[USER_CONFIRM:用户确认]

完结微信支付分订单。用户使用服务完成后，商户可通过此接口完结订单。

特别说明： • 完结接口调用成功后，微信支付将自动发起免密代扣。 若扣款失败，微信支付将自动再次发起免密代扣（按照一定频次），直到扣成功为止。

参数:
  `params` - the params
返回:
  wechat response entity

#### payServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> payServiceOrder(PayServiceOrderParams params)

商户发起催收扣款API

前置条件：服务订单支付状态处于“待支付”状态

当微信支付分订单支付状态处于“待支付”时，商户可使用该接口向用户发起收款。

注意： • 此能力不影响微信支付分代商户向用户发起收款的策略。

参数:
  `params` - the params
返回:
  the wechat response entity

#### syncServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> syncServiceOrder(SyncServiceOrderParams params)

同步服务订单信息API

前提条件：同步商户渠道收款成功信息时，即场景类型=“Order_Paid”，订单的状态需为[MCH_COMPLETE:商户完结订单]

由于收款商户进行的某些“线下操作”会导致微信支付侧的订单状态与实际情况不符。例如，用户通过线下付款的方式已经完成支付，而微信支付侧并未支付成功，此时可能导致用户重复支付。因此商户需要通过订单同步接口将订单状态同步给微信支付，修改订单在微信支付系统中的状态。

参数:
  `params` - the params
返回:
  the wechat response entity

#### directCompleteServiceOrder

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> directCompleteServiceOrder(DirectCompleteServiceOrderParams params)

创单结单合并API

相对需确认模式，免确认模式减少了用户确认授权这步操作，因此在免确认模式下商户无法获取用户的授权状态，为了解决商户的困扰，我们为免确认模式特别提供了查询授权状态和调起授权页面的api接口，这些接口仅在免确认模式下需要调用，且必须调用。

该接口适用于无需微信支付分做订单风控判断的业务场景，在服务完成后，通过该接口对用户进行免密代扣。

注意： • 限制条件：【免确认订单模式】，用户已授权状态下，可调用该接口。

特别提醒：创单结单合并接口暂未对外开放，如有需要请咨询对接的微信支付运营人员，申请开通调用权限。

参数:
  `params` - the params
返回:
  the wechat response entity

#### permissions

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> permissions(ServiceOrderPermissionParams params)

商户预授权API

参数:
  `params` - the params
返回:
  the wechat response entity

#### queryPermissionsByAuthCode

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> queryPermissionsByAuthCode(PermissionsAuthCodeParams params)

查询与用户授权记录（授权协议号）API

通过authorization_code，商户查询与用户授权关系

参数:
  `params` - the params
返回:
  the wechat response entity

#### terminatePermissionsByAuthCode

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> terminatePermissionsByAuthCode(PermissionsAuthCodeParams params)

解除用户授权关系（授权协议号）API

通过authorization_code，商户解除用户授权关系

参数:
  `params` - the params
返回:
  the wechat response entity

#### queryPermissionsByOpenId

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> queryPermissionsByOpenId(PermissionsOpenIdParams params)

查询与用户授权记录（openid）API

参数:
  `params` - the params
返回:
  the wechat response entity

#### terminatePermissionsByOpenId

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> terminatePermissionsByOpenId(PermissionsOpenIdParams params)

解除用户授权关系（openid）API

参数:
  `params` - the params
返回:
  the wechat response entity

#### downloadMerchantBills

    public WechatResponseEntity<com.fasterxml.jackson.databind.node.ObjectNode> downloadMerchantBills(PayScoreBillParams billParams)

商户申请获取对账单API

商户可以调用此接口获取对账单文件的下载链接，并在有效期内请求下载链接可以下载对账单文件。详细参考文档 商户申请获取对账单API

返回的下载链接可调用`AbstractApi.downloadBillResponse(String, String)`下载文件，文件需要解密。

参数:
  `billParams` - the bill params
返回:
  the wechat response entity
从以下版本开始:
  1.0.13.RELEASE