[УКР](https://hackmd.io/BfDcAHvXSVaBoZ1FoSnhxA) | ENG

:arrow_left: [Guide](https://hackmd.io/pa6TRNZTTa67jO_qYDuRBQ)
# [40003] Get Balance of Payment Instrument
## Usage
Getting the balance of the payment instrument is available for the following payment instruments:
* XPAY wallet;
* Partner's bank card.
The balance request operation may require an additional OTP identification.
See the interaction scheme in the section "[General Interaction Scheme](https://hackmd.io/mt4nWXeXTg-4vPFAaqCQ9g)".
## Request
*See the description of the "Partner", "KeyAES" and "Sign" attributes in the section "[General API Integration Information](https://hackmd.io/ijxPm0xtTpycgTjuU_NHQQ)".*
### Data Structure
Data structure for this operation is formed from the following parameters:
:::info
<details>
<summary>Data structure formation (examples are below)</summary>
<br>
~~~
{
"UserID": "",
"Phone": "",
"Email": "",
"DeviceID": "",
"UUID": "",
"Transaction": {
"TransactionID": "",
"TerminalID": "",
"DateTime": ""
}
}
~~~
</details>
:::
|Parameter|Required|Type|Description|Example|
|:----:|:----:|:----:|----|:----:|
|`UserID`|No |String|Unique client identifier in the Partner system.|`Uwuh0B5GQVuokYSL`|
| `Phone` | Yes | String | Client phone number in the format "380xxxxxxxxxxxx". |`380679335544`|
| `Email` | No | String | Client email. |`index@gmail.com`|
|`DeviceID`|Yes |String|Unique identifier of the client device.|`0Ht9z0yh5aDNr5-js1zGFz5QTmIE=`|
|`UUID`|Yes|String|UUID (unique identifier) of the payment instrument for which the balance is formed. |`ead5ea7a-f19f-44ec-8742-3621b4bfdc18`|
|`Transaction`|Yes|Structure|Structure transmits transaction data. See section "[Transaction Structure](https://hackmd.io/ijxPm0xtTpycgTjuU_NHQQ?view#2-Data)".|See example below.|
:::success
<details>
<summary>Example of the request [40003]</summary>
<br>
~~~md
{
"Partner": {
"PartnerToken": "3b4e5666-b585-491a-af31-516e47b25041",
"OperationType": 40003
},
"Data": "{\"Email\": \"cirko2008@gmail.com\", \"UserID\": \"Uwuh0B5GQVuokYSL\", \"DeviceID\": \"0Ht9z0yh5aDNr5js1zGFz5QTmIE=\", \"UUID\": \"ead5ea7a-f19f-44ec-8742-3621b4bfdc18=\", \"Transaction\": {\"DateTime\": \"2022-04-21 02:46:33\", \"TerminalID\": \"1\", \"TransactionID\": \"JXECMxR4IUCqtsqr5KBkABrKC0M=\"}}",
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
## Response
*See the general information on the response structure formation in the section "[General API Integration Information](https://hackmd.io/ijxPm0xtTpycgTjuU_NHQQ?view#Response-Structure)"*.
### Data Structure
Successful response to the request [40003] contains the structure `DecodedData`/`EncodedData`, in which unencrypted or encrypted balance data of the payment instrument is transmitted:
|Parameter|Required|Type|Description|Example|
|:----:|:----:|:----:|----|:----:|
|`uuid`|Yes|String|UUID (unique identifier) of the payment instrument for which the balance is formed. |`ead5ea7a-f19f-44ec-8742-3621b4bfdc18`|
| `Sum` |Yes |Integer| Balance of the payment instrument in kopecks. |1UAH=>`100`|
|`DateTime`|No|String|Date and time of the balance request in the format: YYYYMMDD HH24:MM:SS.|`20180510 13:23:19`|
### Response Examples
:::success
<details>
<summary>Account balance in unencrypted form</summary>
<br>
~~~md
{
"Code": 200,
"Message": "done",
"Data": {
"DecodedData": "{\"uuid\":\"1b982500-59bb-4ec8-8c03-a4cbabea1355\",\"Sum\":50000,\"DateTime\":\"20180510 13:23:19\"}"
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
:::success
<details>
<summary>Operation Failed</summary>
<br>
~~~md
{
"Code": 200,
"Message": "fail",
"Data": {
"OperationID": 111,
"OperationStatus": 21,
"Reason": 3
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
## Reference Materials
General parameters of the XPAY system are given in the section ["Reference Materials"](https://hackmd.io/16yLv895Qo-FWTvrWWQwbg): operation types, payment types, response codes, operation status, reasons of operation rejection, etc.

:arrow_left: [Guide](https://hackmd.io/pa6TRNZTTa67jO_qYDuRBQ)
:arrow_left: [General API Integration Information](https://hackmd.io/ijxPm0xtTpycgTjuU_NHQQ)
<details>
<summary>XPAY Support</summary>
</br>
Phone: +38 093 891 92 00
Email: info@xpay.com.ua
Telegram: @xpaysupportbot
</details>