![](https://i.imgur.com/Jnu9hNn.jpg) :arrow_left: [На Головну](/eSq3juGWQLS1wVvJZiTUAQ) # [40104] Поповнення платіжного інструменту (з картки) *Що таке "оплата картою Server-Server" та як проходить автентифікація відправника див. у розділі ["Оплата картою Server-Server"](https://hackmd.io/oXcYbY08Tq69ggTIX9OyaA).* ## Застосування Запит [40104] застосовується для виконання поповнення платіжного інструменту клієнта переказом з картки. ## Запит *Опис атрибутів "Partner", "KeyAES" та "Sign" див. у розділі ["Загальна інформація по підключенню (API)"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA).* ### Структура "Data" Структура "Data" для даної операції формується з наступних параметрів: :::info <details> <summary>Формування структури "Data" (приклади наведені нижче)</summary> <br> ~~~ { "UserID": "", "Phone": "", "Email": "", "DeviceID": "", "Sum": , "SenderCard": { "PAN": "", "ExpMon": "", "ExpYear": "", "CVV": "" }, "Recipient": "", "CallbackURL": "", "Transaction": { "TransactionID": "", "TerminalID": "", "DateTime": "" } } ~~~ </details> ::: | Параметр | Обов'яз-ковість | Тип | Опис | Приклад| |:----:|:----:|:----:|----|:----:| |`UserID`|Ні |Рядок|Унікальний ідентифікатор клієнта у системі Партнера.|`Uwuh0B5GQVuokYSL`| | `Phone` | Так | Рядок | Телефон клієнта у форматі "380ххххххххх". |`380679335544`| | `Email` | Ні | Рядок | Email клієнта. |`index@gmail.com`| |`DeviceID`| Так |Рядок| ID пристрою клієнта. Для web-застосунків використовується "fingerprint", для мобільних застосунків - ["DeviceID"](https://support.google.com/google-ads/answer/9004555?hl=en).|`0Ht9z0yh5aDNr5-js1zGFz5QTmIE=`| | `Sum` | Так | Ціле | Сума операції у копійках. |1грн.=>`100`| | `SenderCard`^1^ | Так | Структура|Структура, що передає дані банківської картки. |Див. нижче.| | `Recipient` | Так | Рядок| UUID (унікальний ідентифікатор) платіжного інструменту клієнта. |`ead5ea7a-f19f-44ec-8742-3621b4bfdc18`| | `CallbackURL` | Ні | Рядок | URL адреса, на яку буде перенаправлений клієнт після завершення оплати.| `https://partner.com/result_page`| |`Transaction`|Так|Структура|Структура, що передає дані про транзакцію. Див. розділ ["Структура "Transaction"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA#2-Data).|Див. нижче.| ^1^ Параметри структури **"SenderCard"**: | Параметр | Обов'яз-ковість | Тип | Опис | Приклад| |:----:|:----:|:----:|----|:----:| |`PAN`|Так|Рядок[16]| PAN картки (номер банківської карти).| `8888888888888888` | |`ExpMon`|Так|Рядок[2]|Місяць терміну дії картки. Параметр вирівнюється до 2-х знаків символом "0".|`02`| |`ExpYear`|Так|Рядок[2]|Останні 2 цифри року терміну дії картки. Параметр вирівнюється до 2-х знаків символом "0".|`22`| |`CVV`|Так|Рядок[3]|CVV код картки.|`356`| :::success <details> <summary>Приклад запиту [40104]</summary> <br> ~~~md { "Partner": { "PartnerToken": "3b4e5666-b585-491a-af31-516e47b25041", "OperationType": 40104 }, "Data": "{\"Phone\": \"380679335544\", \"UserID\": \"Uwuh0B5GQVuokYSL\", \"DeviceID\": \"0Ht9z0yh5aDNr5js1zGFz5QTmIE=\", \"Sum\": 500000, \"SenderCard\": {\"PAN\": \"535124******5859\", \"ExpMon\": \"**\", \"ExpYear\": \"**\", \"CVV\": \"***\"}, \"Recipient\": \"ead5ea7a-f19f-44ec-8742-3621b4bfdc18\", \"Transaction\": {\"DateTime\": \"2022-04-21 02:46:33\", \"TerminalID\": \"1\", \"TransactionID\": \"JXECMxR4IUCqtsqr5KBkABrKC0M=\"}}", "KeyAES": "", "Sign": "" } ~~~ </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>Запит успішно прийнятий та вимагає підтвердження "3DS"</summary> <br> ~~~md { "Code": 102, "Message": "need3ds", "Data": { "3dsHtml": "<html сторінка у кодуванні base64>", "LongPollerID": "7107088", "OperationID": 7107088, "OperationStatus": 2 }, "KeyAES": "", "Sign": "" } ~~~ </details> ::: :::success <details> <summary>Операція проведена успішно</summary> <br> ~~~md { "Code": 200, "Message": "done", "Data": { "OperationID": 11, "OperationStatus": 10 }, "KeyAES": "", "Sign": "" } ~~~ </details> ::: :::success <details> <summary>Помилка виконання операції</summary> <br> ~~~md { "Code": 200, "Message": "fail", "Data": { "OperationID": 111, "OperationStatus": 21, "Reason": 3 }, "KeyAES": "", "Sign": "" } ~~~ </details> ::: ## Довідкові матеріали Опис загальних параметрів системи XPAY див. у розділі ["Довідкові матеріали"](https://hackmd.io/aBE7H5cfQ-iqaN3SnwaQ-w): коди типів операцій, типи платіжних методів, коди статусів обробки операцій, відомості та помилки, що повертаються у відповіді та ін. ![](https://i.imgur.com/17gAyWb.png) :arrow_left: [На Головну](/eSq3juGWQLS1wVvJZiTUAQ) :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>