owned this note
owned this note
Published
Linked with GitHub
УКР | [ENG](https://hackmd.io/SvLoAv49QWOIsdPhCWFezA)
![](https://i.imgur.com/ULmPUgP.jpg)
:arrow_left: [На Головну](/Mj2ZqCVpSq6A6Jzm6ladlw)
# [10301/10311/103013] Гаманець-карта
*Що таке "гаманець XPAY" див. у розділі ["Гаманець XPAY"](https://hackmd.io/JXJaJEcEQeO2fjRgYbxj6w).*
## Застосування
|"OperationType" | Тип операції |
|:----:|----|
|`10301`|Переказ (виплата) коштів з гаманця Партнера на картку.|
|`10311`|Переказ (виплата) коштів з гаманця Партнера на картку з використанням "колбеку" (CallbackURL).|
|`103013`|Переказ (виплата) коштів з гаманця мерчанта (MIDs) на картку.|
## Запит
*Опис атрибутів "Partner", "KeyAES" та "Sign" див. у розділі ["Загальна інформація по підключенню (API)"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA).*
### Структура "Data"
Структура "Data" для даної операції формується з наступних параметрів:
:::info
<details>
<summary>Формування структури "Data" (приклади наведені нижче)</summary>
<br>
~~~
{
"Currency": "",
"Exchange": "",
"CallbackURL": "",
"Purpose": "",
"TransferA2C": {
"Sum": ,
"Phone": "",
"RecipientCard": {
"PAN": "",
"FirstName": "",
"MiddleName": "",
"LastName": "",
"IPN": "",
"document_type_id": "",
"doc_series": "",
"doc_number": "",
"dt_doc_issue": "",
"dt_doc_exp": "",
"doc_issued_by": ""
},
"FirstName": "",
"LastName": "",
"MiddleName": "",
"CompanyName": "",
"CompanyEDRPOU": "",
"CompanyIBAN": ""
},
"MIDs": [
{
"MID": ,
"Sum": ,
"PaymentInfo": [
{
"Caption": "",
"Value": ""
}
],
"Account": "",
"EDRPOU": "",
"MFO": "",
"Name": ""
}
],
"Transaction": {
"TransactionID": "",
"TerminalID": "",
"DateTime": ""
}
}
~~~
</details>
:::
|Параметр|Обов'яз-ковість|Тип|Опис|Приклад|
|:----:|:----:|:----:|----|:----:|
| `Currency` | Так - при оплаті у валюті, відмінній від UAH. | Рядок | Код валюти *списання* – скорочене буквене позначення валюти, описане в стандарті [ISO 4217](https://uk.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%B2%D0%B0%D0%BB%D1%8E%D1%82_(ISO_4217)) (“GBP”, “USD” та ін.). |`UAH`|
| `Exchange` | Так - при оплаті у валюті, відмінній від UAH. | Рядок | Код валюти *зарахування* – скорочене буквене позначення валюти, описане в стандарті [ISO 4217](https://uk.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%B2%D0%B0%D0%BB%D1%8E%D1%82_(ISO_4217)) (“GBP”, “USD” та ін.). |`UAH`|
| `CallbackURL` | Ні. </br> Передається лише у запиті **[10311]**. | Рядок | URL адреса, на яку буде додатково відправлена відповідь, якщо операція не була проведена протягом відведеного часу. При цьому у відповіді буде повернено `TransactionID`, надісланий Партнером. Наприклад: {"Code":200, "Message":"Done", "Data":{"OperationID":5639163, "OperationStatus":10, "PspID":"1041299225", **"TransactionID": "50f8804693ef"**, "TransactionStatus":3}, "KeyAES":"", "Sign":""}.|`https://partner.com/ callback/xpay1`|
|`Purpose`|Ні|Рядок|Опис призначення платежу.|`Оплата послуги №111`|
|`TransferA2C`^1^|Так|Структура|Структура, що передає дані про операцію.|Див. нижче.|
| `MIDs`^3^ | Ні. </br> Так - для **[103013]** | Масив | Параметр передається для здійснення платежу з гаманця мерчанта на користь надавача послуг за умови, що Партнер може використовувати баланси пов'язаних мерчантів. |Див. нижче.|
|`Transaction`|Так|Структура|Структура, що передає дані про транзакцію. Див. розділ ["Структура "Transaction"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA#2-Data).|Див. нижче.|
^1^ Параметри структури **"TransferA2C":**
|Параметр|Обов'яз-ковість|Тип|Опис|Приклад|
|:----:|:----:|:----:|----|:----:|
| `Sum` | Так | Ціле | Сума операції у копійках. |1 грн.=>`100`|
| `Phone` | Ні | Рядок | Телефон клієнта у форматі: "380ххххххххх". |`380679335544`|
|`RecipientCard`^2^|Так|Структура|Структура, що передає дані банківської картки одержувача.|Див. нижче.|
| `FirstName` | Ні | Рядок | Ім'я відправника. |`Олег`|
| `MiddleName` | Ні | Рядок | По батькові відправника. |`Михайлович`|
| `LastName` | Ні | Рядок | Прізвище відправника. |`Подільський`|
|`CompanyName`| Ні |Рядок | Назва компанії відправника. | `ТОВ "Ромашка"`|
|`CompanyEDRPOU`| Ні |Рядок |ЄДРПОУ компанії відправника. | `123456789012`|
|`CompanyIBAN`| Ні |Рядок |IBAN компанії відправника. | `UA4830529900000 26008031203677`|
^2^ Параметри структури **"RecipientCard"**:
| Параметр | Обов'яз-ковість | Тип | Опис | Приклад|
|:----:|:----:|:----:|----|:----:|
|`PAN`|Так|Рядок[16]| PAN картки одержувача (номер банківської карти).| `8888888888888888`|
| `FirstName` | Так* | Рядок | Ім'я одержувача. |`Максим`|
| `MiddleName` | Так* | Рядок | По батькові одержувача. |`Олегович`|
| `LastName` | Так* | Рядок | Прізвище одержувача. |`Кравець`|
| `IPN` | Так* | Рядок | Індивідуальний податковий номер (ІПН) одержувача. |`111111111111`|
| `document_type_id` | Так* | Ціле | Тип документа з довідника: </br> `1` - паспорт, </br> `2` - ID-картка. |`1`|
| `doc_series` | Так* | Рядок | Серія документа. |`19910824-00026`|
| `doc_number` | Так* | Рядок | Номер документа. |`123456789`|
| `dt_doc_issue` | Так* | Рядок | Дата видачі документа. |`2022-06-14`|
| `dt_doc_exp` | Так* | Рядок | Термін закінчення дії документа. |`2022-06-14`|
| `doc_issued_by` | Так* | Рядок | Орган, що видав документ. |`3459`|
**Параметри є умовно-обов’язковими (визначаються на етапі інтеграції).*
^3^ Параметри масиву **"MIDs"**:
| Параметр | Обов’яз-ковість | Тип | Опис | Приклад |
|:-:|:-:|:-:|-|:-:|
| `MID` |Так| Ціле | Ідентифікатор мерчанта в системі Оператора (Merchant ID), з гаманця якого здійснюється виплата. |`111`|
| `Sum` |Так| Ціле | Сума платежу у копійках.|1грн.=>`100` |
| `PaymentInfo`^4^ | Ні | Масив | Параметр передається для відображення деталей платежу на сторінці оплати. |Див. приклад нижче.|
| `Account` |Ні| Рядок | Розрахунковий рахунок або IBAN відправника (міжнародний номер банківського рахунку). | `UA4830529900000 26008031203677`|
|`EDRPOU`|Ні|Рядок | [ЄДРПОУ](https://uk.wikipedia.org/wiki/%D0%84%D0%B4%D0%B8%D0%BD%D0%B8%D0%B9_%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%B2%D0%BD%D0%B8%D0%B9_%D1%80%D0%B5%D1%94%D1%81%D1%82%D1%80_%D0%BF%D1%96%D0%B4%D0%BF%D1%80%D0%B8%D1%94%D0%BC%D1%81%D1%82%D0%B2_%D1%82%D0%B0_%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D1%96%D0%B7%D0%B0%D1%86%D1%96%D0%B9_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B8) відправника.|`3505506226` |
| `MFO` |Ні |Рядок | [МФО](https://uk.wikipedia.org/wiki/%D0%9C%D0%A4%D0%9E) - код банку відправника. |`305299`|
| `Name` | Ні | Рядок | Назва відправника. |`ТОВ "Ресурс"`|
:::success
<details>
<summary>Приклад масиву даних "MIDs"</summary>
~~~md
{
"MIDs": [
{
"MID": 111,
"Sum": 100,
"PaymentInfo": [
{
"Caption": "Призначення",
"Value": "Погашення за контрактом №3642989012-5 від 03.04.2021 Пупкіна Валерія Сергіївна"
}
]
},
{
"MID": 112,
"Sum": 200,
"PaymentInfo": [
{
"Caption": "Призначення",
"Value": "Погашення за контрактом №3642989012-5 від 03.04.2021 Пупкіна Валерія Сергіївна"
}
]
}
]
}
~~~
</details>
:::
^4^ Параметри масиву **"PaymentInfo"**:
| Параметр | Обов’яз-ковість | Тип | Опис | Приклад |
|:-:|:-:|:-:|-|:-:|
| `Caption` |Так| Рядок | Опис додаткової інформації. |`Призначення`|
| `Value` |Так| Рядок | Додаткова інформація. |`Погашення за контрактом №3642989012-5 від 03.04.2021 Пупкіна Валерія Сергіївна`|
:::success
<details>
<summary>Приклад структури "Data" запиту [10301]</summary>
<br>
~~~md
{
"Transaction": {
"DateTime": "20220704 17:03:40",
"TerminalID": "1",
"TransactionID": "0c5328f5-bda9-4376-b6a0-ca544fcb34ff"
},
"TransferA2C": {
"Sum": 157500,
"RecipientCard": {
"PAN": "516874******0067"
}
}
}
~~~
</details>
:::
:::success
<details>
<summary>Приклад структури "Data" запиту [10311]</summary>
<br>
~~~md
{
"CallbackURL": "https://echange.su/merchant-ap_xpay_status_uFuzCAlZFvzSI7X1I0ER0RTTDbDo4PKrsJJtxmUDfxJeKEiuonh667hAx0qid3vnrzr.html?order_id=144763",
"Transaction": {
"DateTime": "20220708 00:32:12",
"TerminalID": "1",
"TransactionID": "144763"
},
"TransferA2C": {
"Sum": 245779,
"RecipientCard": {
"PAN": "537541******3574"
}
}
}
~~~
</details>
:::
:::success
<details>
<summary>Приклад структури "Data" запиту [103013]</summary>
<br>
~~~md
{
"Currency": "USD",
"Exchange": "UAH",
"CallbackURL": "",
"Purpose": "Оплата послуги №111",
"TransferA2C": {
"Sum": 10000,
"Phone": "380679335544",
"RecipientCard": {
"PAN": "8888888888888888",
"FirstName": "Максим",
"MiddleName": "Олегович",
"LastName": "Кравець",
"IPN": "111111111111",
"document_type_id": "1",
"doc_series": "19910824-00026",
"doc_number": "123456789",
"dt_doc_issue": "2022-06-14",
"dt_doc_exp": "2022-06-14",
"doc_issued_by": "3459"
},
"FirstName": "Олег",
"LastName": "Подільський",
"MiddleName": "Михайлович",
"CompanyName": "ТОВ "Ромашка"",
"CompanyEDRPOU": "123456789012",
"CompanyIBAN": "UA483052990000026008031203677"
},
"MIDs": [
{
"MID": 111,
"Sum": 10000,
"PaymentInfo": [
{
"Caption": "Призначення",
"Value": "Погашення за контрактом №3642989012-5"
}
],
"Account": "UA483052990000026008031203677",
"EDRPOU": "3505506226",
"MFO": "305299",
"Name": "ТОВ "Ресурс"
}
],
"Transaction": {
"TransactionID": "0c5328f5-bda9-4376-b6a0-ca544fcb34ff",
"TerminalID": "1",
"DateTime": "20220704 17:03:40"
}
}
~~~
</details>
:::
## Відповідь
*Загальна інформація по формуванню структури відповіді наведена у розділі [“Загальна інформація по підключенню (API)”](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA?both#%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%B2%D1%96%D0%B4%D0%BF%D0%BE%D0%B2%D1%96%D0%B4%D1%96).*
### Приклади відповідей
:::success
<details>
<summary>Операція проведена успішно</summary>
<br>
~~~md
{
"Code": 200,
"Message": "done",
"Data": {
"OperationID": 555,
"OperationStatus": 10
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
:::success
<details>
<summary>Помилка виконання операції</summary>
<br>
~~~md
{
"Code": 200,
"Message": "done",
"Data": {
"OperationID": 111,
"OperationStatus": 21,
"Reason": 3
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
## Тестові дані
:::info
![](https://i.imgur.com/gtxKB22.png)
Для тестування даного запиту застосовуйте параметри **Тестового Партнера**.
Див. деталі підключення у розділі: ["Параметри підключення Тестового Партнера"](https://hackmd.io/kGejjgk0QaiwfpoZFnTadA).
<details>
<summary>Тестовий запит [10301]</summary>
<br>
~~~md
{
"Partner": {
"PartnerToken": "72a8ddb8-9145-4a41-af1a-8c48ecaa4be1",
"OperationType": 10301
},
"Data": "{\"Currency\":\"UAH\",\"Exchange\":\"UAH\",\"CallbackURL\":\"\",\"Purpose\":\"Оплатазапослуги№27\",\"TransferA2C\":{\"Sum\":15600,\"Phone\":\"380277777777\",\"RecipientCard\":{\"PAN\":\"8888888888888888\"},\"FirstName\":\"Малюк\",\"LastName\":\"Василь\",\"MiddleName\":\"Васильович\"},\"Transaction\":{\"TransactionID\":\"0c5328f5-bda9-4376-b6a0-ca544fcb45fc\",\"TerminalID\":\"1\",\"DateTime\":\"2023032011:30:07\"}}",
"KeyAES": "",
"Sign": ""
}
~~~
</details>
<details>
<summary>Тестовий запит [10311]</summary>
<br>
~~~md
{
"Partner": {
"PartnerToken": "72a8ddb8-9145-4a41-af1a-8c48ecaa4be1",
"OperationType": 10311
},
"Data": "{\"Currency\":\"UAH\",\"Exchange\":\"UAH\",\"CallbackURL\":\"https://partner.com/callback/xpay1\",\"Purpose\":\"Оплатазапослуги№28\",\"TransferA2C\":{\"Sum\":15600,\"Phone\":\"380277777777\",\"RecipientCard\":{\"PAN\":\"8888888888888888\"},\"FirstName\":\"Малюк\",\"LastName\":\"Василь\",\"MiddleName\":\"Васильович\"},\"Transaction\":{\"TransactionID\":\"0c5328f5-bda9-4376-b6a0-ca544fcb46fc\",\"TerminalID\":\"1\",\"DateTime\":\"2023032011:30:07\"}}",
"KeyAES": "",
"Sign": ""
}
~~~
</details>
<details>
<summary>Очікувана відповідь</summary>
<br>
~~~md
{
"Code": 200,
"Message": "Done",
"Data": {
"OperationDate": "2023-03-20T15:36:23.552686+02:00",
"OperationID": 9499563,
"OperationStatus": 10,
"result": "OK"
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
## Пов'язані запити
[[10202] Гаманець-гаманець](https://hackmd.io/dDT3KzIgQjW8-v8rYo-pPg)
[[10303] Гаманець-IBAN](https://hackmd.io/QF_yny3cRpCuQdUZq7dpyA)
[[10304] Гаманець-UUID](https://hackmd.io/YFxvxD7nQJqD5lRJokBejw)
[[10400] Пакетна оплата гаманець-карта (по токену)](https://hackmd.io/e-zkU8N5T9CT3uNerArq8w)
[[10401] Пакетна оплата гаманець-карта (за номером карти)](https://hackmd.io/wvbMmdloQsiPSg-mp8e6Eg)
**Поповнення мобільного телефону**
[[10205] Гаманець-мобільний](https://hackmd.io/Ed0nf9UaRUuhBux_4NPeVg)
[[10305] Карта-мобільний](https://hackmd.io/XGJE11L3T_KwUtIR1Qlf_Q)
[[10405] Токен-мобільний](https://hackmd.io/gsTvGhrDTjqlNE_ZZa22vA)
**Отримання даних по проведеній операції**
[[20003] Отримання статусу операції](https://hackmd.io/fvd8btZLQXywluia6w5uxg)
## Довідкові матеріали
Опис загальних параметрів системи XPAY див. у розділі ["Довідкові матеріали"](https://hackmd.io/aBE7H5cfQ-iqaN3SnwaQ-w): коди типів операцій, типи платіжних методів, коди статусів обробки операцій, відомості та помилки, що повертаються у відповіді та ін.
![](https://i.imgur.com/17gAyWb.png)
:arrow_left: [На Головну](/Mj2ZqCVpSq6A6Jzm6ladlw)
:arrow_left: [Загальна інформація по підключенню (API)](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA)
<details>
<summary>Служба підтримки XPAY</summary>
</br>
Телефон: +38 093 891 92 00
Email: info@xpay.com.ua
Telegram: @xpaysupportbot
</details>