УКР | [ENG](https://hackmd.io/fWnQXFk5T2-sYiloHg6IaQ) ![](https://i.imgur.com/ULmPUgP.jpg) :arrow_left: [На Головну](/Mj2ZqCVpSq6A6Jzm6ladlw) # [80001] Оплата штрафу картою через мобільний додаток *Що таке "оплата картою server-server" та як проходить автентифікація відправника див. у розділі ["Оплата картою server-server"](https://hackmd.io/oXcYbY08Tq69ggTIX9OyaA).* ## Застосування Запит [80001] застосовується для проведення оплати штрафу клієнта через мобільний додаток. ## Запит *Опис атрибутів "Partner", "KeyAES" та "Sign" див. у розділі ["Загальна інформація по підключенню (API)"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA).* ### Структура "Data" Для оплати штрафу у структурі "Data" необхідно надіслати унікальний ідентифікатор штрафу та дані картки для оплати: :::info <details> <summary>Формування структури "Data" (приклади наведені нижче)</summary> <br> ~~~ { "FineID": , "Phone": "", "Email": "", "SenderCard": { "PAN": "", "ExpMon": "", "ExpYear": "", "CVV": "" }, "Transaction": { "TransactionID": "", "TerminalID": "", "DateTime": "" } } ~~~ </details> ::: | Параметр | Обов'яз-ковість | Тип | Опис |Приклад| |:----:|:----:|:----:|----|:----:| |`FineID`|Так|Ціле|Унікальний ідентифікатор штрафу, отриманий у відповіді на запит [[80200]](https://hackmd.io/q3baQG6gSpe9igShE8JHag) - параметр `docId`.| `30191745443969447370`| | `Phone` | Так | Рядок | Телефон клієнта у форматі: "380ххххххххх". |`380679335544`| | `Email` | Ні | Рядок | Email клієнта. |`index@gmail.com`| |`SenderCard`^1^|Так|Структура|Структура, що передає дані банківської картки клієнта.|Див. нижче.| |`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`| ## Відповідь *Загальна інформація по формуванню структури відповіді наведена у розділі [“Загальна інформація по підключенню (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": { "OperationID": 111, "3dsHtml": "<html сторінка у кодуванні base64>", "OperationStatus": 2 }, "KeyAES": "", "Sign": "" } ~~~ </details> ::: :::success <details> <summary>Запит успішно прийнятий та вимагає підтвердження "OTP"</summary> <br> ~~~md { "Code": 102, "Message": "needOTP", "Data": { "OperationID": 111, "otpJson": "<JSON структура у вигляді рядка>", "OperationStatus": 3 }, "KeyAES": "", "Sign": "" } ~~~ </details> ::: :::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>Тестовий запит</summary> <br> ~~~md { "Partner": { "PartnerToken": "72a8ddb8-9145-4a41-af1a-8c48ecaa4be1", "OperationType": 80001 }, "Data": "{\"FineID\":30191745443969447370,\"Phone\":\"380679335544\",\"Email\":\"\",\"SenderCard\":{\"PAN\":\"8888888888888888\",\"ExpMon\":\"02\",\"ExpYear\":\"24\",\"CVV\":\"356\"},\"Transaction\":{\"TransactionID\":\"0c5328f5-bda9-4376-b6a0-ca544fcb80fc\",\"TerminalID\":\"1\",\"DateTime\":\"20230221122524\"}}", "KeyAES": "", "Sign": "" } ~~~ </details> <details> <summary>Очікувана відповідь</summary> <br> ~~~md ~~~ </details> ::: ## Пов'язані запити [[80200] Отримання інформації по штрафам](https://hackmd.io/q3baQG6gSpe9igShE8JHag) [Форма оплати штрафу для Партнерського ресурсу](https://hackmd.io/CQh8x7B0SyWv9L5DnDDF8A) ## Довідкові матеріали Опис загальних параметрів системи 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>