
:arrow_left: [Guide](https://hackmd.io/pa6TRNZTTa67jO_qYDuRBQ)
# [40001] User Binding
## Usage
Binding the XPAY user to the mobile application/Partner's website is necessary to authorize the user on this device. After the transaction is completed, the functions of checking wallet balance, payment by wallet and by its linked payment instruments are available.
See the interactiits eme](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": "",
"FirstName": "",
"LastName": "",
"MiddleName": "",
"Birthday": "",
"CountryOfResidence": "",
"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. "Fingerprint" is used for web applications, ["DeviceID"](https://support.google.com/google-ads/answer/9004555?hl=en) for mobile applications.|`0Ht9z0yh5aDNr5-js1zGFz5QTmIE=`|
| `FirstName` | No | String | Client name. |`Oleg`|
| `MiddleName` | No | String | Client middle name. |`Mykhaylovich`|
| `LastName` | No | String | Client last name. |`Podilskyi`|
| `Birthday` | No | String | Client's birth date in "DDMMYYYY" format. |`03071995`|
| `CountryOfResidence` | No | String | Client's nationality / country name. |`Ukraine`|
|`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 [40001]</summary>
<br>
~~~md
{
"Partner": {
"PartnerToken": "3b4e5666-b585-491a-af31-516e47b25041",
"OperationType": 40001
},
"Data": "{\"Phone\": \"380679335544\", \"UserID\": \"Uwuh0B5GQVuokYSL\", \"DeviceID\": \"0Ht9z0yh5aDNr5js1zGFz5QTmIE=\", \"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)"*.
### Response Examples
:::success
<details>
<summary>Operation Successfully Completed</summary>
<br>
~~~md
{
"Code": 200,
"Message": "done",
"Data": {
"OperationID": 11,
"OperationStatus": 10
},
"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>