owned this note
owned this note
Published
Linked with GitHub
УКР | [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>