﻿# 余额查询

### 1.余额查询服务介绍
PayerMax余额查询服务为商户提供了实时余额查询和日终余额查询：
- 实时余额查询：基于商户的请求时间、账户类型、币种查询实时的客户账余额
- 日终余额查询：返回指定日期及时区下的余额信息

### 2.实时余额查询

1.接口参数
[接口参数](https://docs.payermax.com/api.html?docName=New%20Version&docVer=v1.0&docLang=cn#/paths/aggregate-pay-api-gateway-currentBalanceQuery/post)

接口名称：实时余额查询  /currentBalanceQuery

> Request Parameters

| 参数              | 类型    | 是否必填 | 最大长度 | 描述                                                                                                                                                                                                                                         | 示例值                           |
| ----------------- | ------- | -------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| version           | String  | M        | 8        | 接口版本。当前值为：1.2                                                                                                                                                                                                                      | 1.2                              |
| requestTime       | String  | M        | 32       | 请求时间，符合rfc3339规范，格式：yyyy-MM-dd'T'HH:mm:ss.SSSXXX                                                                                                                                                                                | 2022-01-22T10:00:00.500+08:00    |
| keyVersion        | String  | M        | 8        | 密钥版本。当前值为：1                                                                                                                                                                                                                        | 1                                |
| merchantNo        | String  | M        | 15       | 商户号，商户与PayerMax业务签约时生成的唯一标识                                                                                                                                                                                               | 10229810189301                   |
| appId             | String  | M        | 64       | 商户应用Id，PayerMax分配给商户应用的唯一标识                                                                                                                                                                                                 | 46153e2b787241ae8b01857bb087d1bd |
| +data             | object  | M        | 32       | 请求数据体                                                                                                                                                                                                                                   |                                  |
| 「plainSign       | boolean | O        |          | 是否展示余额为0的账户             -true展示             -false不展示（默认），直接过滤该账户                                                                                                                                                 | false                            |
| 「accountType     | List    | O        |          | 账户类型：             -ACQUIRING 收单账户             -DISBURSEMENT 代发账户（原AVAILABLE）             -FREEZE 冻结账户             -SETTLE 待结算账户             -REVERSE 保证金账户             当未指定账户类型时，返回全部不为0的账户 | AVAILABLE                        |
| 「accountCurrency | List    | O        | 32       | 3位币种代码，符合ISO 4217规范.             当未指定币种时，返回全部不为0的账户                                                                                                                                                               | USD                              |
> Response Parameters
| 参数                 | 类型        | 是否必填 | 最大长度 | 描述                                                             | 示例值                        |
| -------------------- | ----------- | -------- | -------- | ---------------------------------------------------------------- | ----------------------------- |
| code                 | String      | M        | 32       | 接口响应码，'APPLY_SUCCESS'代表成功                              | APPLY_SUCCESS                 |
| msg                  | String      | M        | 256      | 响应描述，'Success.'                                             | Success                       |
| +data                | object      | c        |          | 返回数据体                                                       |                               |
| 「inquiryTime        | String      | M        | 64       | 查询时间 ，符合rfc3339规范，格式：yyyy-MM-dd’T’HH:mm:ss.SSSXXX | 2022-01-22T10:00:00.500+08:00 |
| +AccountRealTimeType | List        | M        | 64       |                                                                  |                               |
| -accountType         | String      | O        | 32       | 账户类型                                                         | AVAILABLE                     |
| -balance             | SBigDecimal | O        | (20,2)   | 金额 单位元                                                      | A9998.00                      |
| -currency            | String      | O        | 3        | 3位币种代码，符合ISO 4217规范.                                   | USD                           |
| 「errorCode          | String      | C        | 32       | 查询失败错误码                                                   |                               |
| 「errorMsg           | String      | C        | 256      | 查询失败错误码描述                                               |                               |

2.示例代码
>商户请求参数

```json
{
  "version": "1.2",
  "keyVersion": "1",
  "requestTime": "2022-01-12T20:31:20.000+0800",
  "appId": "41c4f31f487a42b7996979e775c3d7bc",
  "merchantNo": "010113855475499",
  "data": {
    "plainSign": true,
    "accountCurrency": [
      "EGP"
    ],
    "accountType": [
      "AVAILABLE",
      "FREEZE",
      "SETTLE",
      "REVERSE"
    ]
  }
}
```
>返回参数

```json
{
  "msg": "",
  "code": "APPLY_SUCCESS",
  "data": {
    "accountRealTimeTypes": [
      {
        "balance": 18277.20,
        "accountType": "SETTLE",
        "currency": "EGP"
      }
    ],
    "inquiryTime": "2023-02-23T07:47:05.940Z"
  }
}
```
### 3.日终余额查询

1.接口参数
[接口参数](https://docs.payermax.com/api.html?docName=New%20Version&docVer=v1.0&docLang=cn#/paths/aggregate-pay-api-gateway-dayEndBalanceQuery/post)

接口名称：日终余额查询    /dayEndBalanceQuery

>Request Parameters
| 参数              | 类型   | 是否必填 | 最大长度 | 描述                                                                                                                                                                                                                              | 示例值                           |
| ----------------- | ------ | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| version           | String | M        | 8        | 接口版本。当前值为：1.2                                                                                                                                                                                                           | 1.2                              |
| requestTime       | String | M        | 32       | 请求时间，符合rfc3339规范，格式：yyyy-MM-dd'T'HH:mm:ss.SSSXXX                                                                                                                                                                     | 2022-01-22T10:00:00.500+08:00    |
| keyVersion        | String | M        | 8        | 密钥版本。当前值为：1                                                                                                                                                                                                             | 1                                |
| merchantNo        | String | M        | 15       | 商户号，商户与PayerMax业务签约时生成的唯一标识                                                                                                                                                                                    | 10229810189301                   |
| appId             | String | M        | 64       | 商户应用Id，PayerMax分配给商户应用的唯一标识                                                                                                                                                                                      | 46153e2b787241ae8b01857bb087d1bd |
| +data             | object | M        | 32       | 请求数据体                                                                                                                                                                                                                        |                                  |
| 「accountType     | List   | O        |          | 账户类型：             -ACQUIRING 收单账户             -DISBURSEMENT 代发账户（原AVAILABLE）             -FREEZE 冻结账户             -SETTLE 待结算账户             -REVERSE 保证金账户             当未指定账户类型时，返回全部 | AVAILABLE                        |
| 「accountCurrency | String | O        | 32       | 3位币种代码，符合ISO 4217规范.             当未指定币种时，返回全部                                                                                                                                                               | IDR                              |
| 「inquiryDate     | String | M        | 32       | 支持查询近90天                                                                                                                                                                                                                    | "2023-01-01"                     |
| 「timezone        | String | M        | 32       | 时区 目前只支持(UTC 、CST)                                                                                                                                                                                                        | CST                              |
>Response Parameters
| 参数                    | 类型       | 是否必填 | 最大长度 | 描述                                                                               | 示例值                        |
| ----------------------- | ---------- | -------- | -------- | ---------------------------------------------------------------------------------- | ----------------------------- |
| code                    | String     | M        | 32       | 接口响应码，'APPLY_SUCCESS'代表成功                                                | APPLY_SUCCESS                 |
| msg                     | String     | M        | 256      | 响应描述，'Success.'                                                               | Success                       |
| +data                   | object     | c        |          | 返回数据体                                                                         |                               |
| 「timezone              | String     | M        | 32       | 时区                                                                               | CST                           |
| 「acctTime              | String     | M        | 63       | 对应余额的时间 ，符合rfc3339规范，格式：yyyy-MM-dd’T’HH:mm:ss.SSSXXX             | 2022-01-22T10:00:00.500+08:00 |
| +accountEndDayTimeTypes | List       | M        |          | 账户类型结果，查询到的账户类型                                                     |                               |
| -accountType            | String     | M        | 32       | 账户类型                                                                           | AVAILABLE                     |
| -currency               | String     | M        | 3        | 3位币种代码，符合ISO 4217规范.             当未指定币种时，返回全部余额大于0的币种 | IDR                           |
| -initalBalance          | BigDecimal | M        | (20,4)   | 期初余额                                                                           | 43820.00                      |
| -endBalance             | BigDecimal | M        | (20,4)   | 期末余额                                                                           | 1157812.00                    |
| -inflowAmount           | BigDecimal | M        | (20,4)   | 期间流出发生额 当日内流入金额                                                      | 0.00                          |
| -outflowAmount          | BigDecimal | M        | (20,4)   | 期间流入发生额 当日内流出金额                                                      | 1201632.00                    |
| 「errorCode             | String     | c        | 32       | 订单失败错误码                                                                     |                               |
| 「errorMsg              | String     | c        | 256      | 订单失败错误码描述                                                                 |                               |

2.示例代码
> 日终余额查询请求
```json
{
  "version": "1.2",
  "keyVersion": "1",
  "requestTime": "2022-01-12T20:31:20.000+0800",
  "appId": "41c4f31f487a42b7996979e775c3d7bc",
  "merchantNo": "010113855475499",
  "data": {
    "accountCurrency": "TRY",
    "accountType": [
      "AVAILABLE"
    ],
    "inquiryDate": "2023-02-20",
    "timezone": "utc"
  }
}
```
>日终余额查询响应

```json
{
  "msg": "",
  "code": "APPLY_SUCCESS",
  "data": {
    "acctTime": "2023-02-22",
    "timezone": "GMT+0:00",
    "accountEndDayTimeTypes": [
      {
        "accountType": "AVAILABLE",
        "currency": "TRY",
        "inflowAmount": 0.00,
        "initalBalance": 0.00,
        "endBalance": 0.00,
        "outflowAmount": 0.00
      }
    ]
  }
}
```

### 4.账户类型
| 账户类型                | 说明                                                                            |
| ----------------------- | ------------------------------------------------------------------------------- |
| ACQUIRING 收单余额账户  | 存放通过收单业务，并且达到结算周期的资金的账户                                  |
| DISBURSEMENT 代发余额户 | 存放通过充值或结算转充值转入，可以用作代发的资金的账户（原AVAILABLE可用余额户） |
| FREEZE 冻结账户         | 存放因产生争议或风控而被冻结的资金的账户                                        |
| SETTLE 待结算账户       | 存放未到达结算周期及未结算出款的资金的账户                                      |
| REVERSE保证金账户       | 存放保证金的账户                                                                |
