УКР | [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": "", "Email": "", "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`| | `Email` | Ні | Рядок | Email клієнта. |`index@gmail.com`| |`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> ::: ## Пов'язані запити [[10204/10214] Гаманець-карта (по токену)](https://hackmd.io/-dYr0t8eREOOjLvWsBucRg) [[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>