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

Copyright © 2022. All rights reserved.