
:arrow_left: [На Головну](/eSq3juGWQLS1wVvJZiTUAQ)
# [50100] Виставлення рахунку
## Запит
*Опис атрибутів "Partner", "KeyAES" та "Sign" див. у розділі ["Загальна інформація по підключенню (API)"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA).*
### Структура "Data"
Структура "Data" для даної операції формується з наступних параметрів:
:::info
<details>
<summary>Формування структури "Data" (приклади наведені нижче)</summary>
<br>
~~~
{
"Sum" : ,
"Sender": "",
"Recipient": "",
"RecipientName": "",
"Purpose": "",
"Order": "",
"DateTime": "",
"DateTimeExp": "",
"ticket": [],
"cashiersignature": "",
"Transaction": {
"TransactionID": "",
"TerminalID": "",
"DateTime": ""
}
}
~~~
</details>
:::
| Параметр | Обов'яз-ковість | Тип | Опис | Приклад|
|:----:|:----:|:----:|----|:----:|
| `Sum` | Так | Ціле | Сума операції у копійках. |1грн.=>`100`|
| `Sender` | Ні | Рядок |Ідентифікатор платника (номер телефону, email, гаманець). |`380679335544`|
| `Recipient` | Так | Рядок | UUID (унікальний ідентифікатор) платіжного інструменту одержувача. |`ead5ea7a-f19f-44ec-8742-3621b4bfdc18`|
| `RecipientName` | Так | Рядок | ПІБ одержувача. |`Віщик Максим`|
| `Purpose` | Так | Рядок | Призначення платежу. |`Bristol accommodation 30/01-02/02/2023`|
| `Order` | Ні | Рядок | Номер рахунку у системі. |`59856`|
| `DateTime` | Так | Рядок | Дата/час виставлення рахунку. |`2023-01-23 15:17:33`|
| `DateTimeExp` | Ні | Рядок | Дата/час дії рахунку. |`2023-01-30 23:59:59`|
|`Transaction`|Так|Структура|Структура, що передає дані про транзакцію. Див. розділ ["Структура "Transaction"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA#2-Data).|Див. нижче.|
*Параметри `ticket` та `cashiersignature` передаються за необхідності фіскалізації операції, описані в запиті [[10005]](https://hackmd.io/1okrbJtPTVCsl6b_lyt9bg?view#%D0%9C%D0%B0%D1%81%D0%B8%D0%B2-%E2%80%9Cticket%E2%80%9D).*
#### Особливості роботи при фіскалізації рахунку
Дані про товар передаються у запиті на створення рахунку. Сума товарів має збігатися з сумою рахунку. Фіскалізація та передача інформації до ДФС здійснюється після оплати рахунку з використанням підпису касира:
* переданого при створенні рахунку (якщо передано);
* встановленого для Партнера (якщо не передано).
:::success
<details>
<summary>Приклад запиту [50100]</summary>
<br>
~~~md
{
"Partner": {
"PartnerToken": "79f47e2e-c1c0-434d-b6f8-2edcebfd4e08",
"OperationType": 50100,
"Locale": "uk"
},
"Data": "{\"Sum\": 866087, \"Sender\": \"380932905439\", \"Recipient\": \"8a38527f-3b73-4f13-8873-4e4f68b0f20c\", \"RecipientName\": \"Віщик Максим\", \"Purpose\": \"Bristol accommodation 30/01-02/02/2023\", \"Order\": \"59856\", \"DateTime\": \"2023-01-23 15:17:33\", \"DateTimeExp\": \"2023-01-30 23:59:59\", \"Transaction\": {\"TransactionID\": \"b6102c5e-14f2-4ff6-be23-4f3a376e56d9\", \"TerminalID\": \"1\", \"DateTime\": \"2023-01-23 15:17:33\"}}",
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
## Виставлення рахунку за шаблоном
Див. [[50010] Створення шаблону рахунку](https://hackmd.io/Vv0XOOoRQSqaz6PwKFG5Ug)
### Структура "Data"
Структура "Data" для даної операції формується з наступних параметрів:
:::info
<details>
<summary>Формування структури "Data" (приклади наведені нижче)</summary>
<br>
~~~
{
"Sum" : ,
"Sender": "",
"SenderName": "",
"TemplateID": "",
"Transaction": {
"TransactionID": "",
"TerminalID": "",
"DateTime": ""
}
}
~~~
</details>
:::
| Параметр | Обов'яз-ковість | Тип | Опис | Приклад|
|:----:|:----:|:----:|----|:----:|
| `Sum` | Ні | Ціле | Сума операції у копійках (передається, якщо у шаблоні не вказано суму платежу). |1грн.=>`100`|
| `Sender` | Ні | Рядок |Ідентифікатор платника (номер телефону, email, гаманець). |`380679335544`|
| `SenderName` | Так | Рядок | ПІБ платника. |`Мельник Олег`|
| `TemplateID` | Так | Рядок | Ідентифікатор шаблону, за яким створюється платіж. |`145fa`|
|`Transaction`|Так|Структура|Структура, що передає дані про транзакцію. Див. розділ ["Структура "Transaction"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA#2-Data).|Див. нижче.|
## Відповідь
*Загальна інформація по формуванню структури відповіді наведена у розділі [“Загальна інформація по підключенню (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": "Bill created!",
"Data": {
"BillID": "302960",
"OperationDate": "2018-12-25T14:48:10.977847+02:00",
"OperationID": 167813,
"OperationStatus": 8
},
"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): коди типів операцій, типи платіжних методів, коди статусів обробки операцій, відомості та помилки, що повертаються у відповіді та ін.
## Cлужба підтримки
<details>
<summary>Контакти</summary>
</br>
Телефон: +38 (096) 099 20 59
email: info@xpay.com.ua
Telegram: @xpaysupportbot
</details>
</br>
:::info
**Навігація по API:**
:bookmark_tabs: [XPASS API Зміст](https://hackmd.io/eSq3juGWQLS1wVvJZiTUAQ)
:arrow_left: [Загальна інформація по підключенню (API)](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA)
:::