# Список платежів

## Опис

Сервіс автоматично шукає всі платежі, що надходять на ваші криптогаманці, але лише за наявності рахунків, за якими ще триває пошук. Пошук триває, доки рахунок актуальний, і продовжується ще одну годину після закінчення строку оплати — з огляду на повільні мережі. Якщо таких рахунків немає, вхідна транзакція в систему не потрапить.

## Запит

```bash
curl -X POST https://api.bitsby.app/payments/list \
  -H "Authorization: Token MSvL2ltaDZdWVjmZURURMVWhqSJLT2NURjhL2Fla1Z1T1IxQTltKs1T3Ay" \
	-F "startDate=2000-01-01" \
	-F "endDate=2030-01-01" \
	-F "offset=0" \
	-F "limit=10"
```

## Параметри запиту

| Параметр | Тип даних | Опис | Приклад | Обов’язковий? | За замовчуванням |
| --- | --- | --- | --- | --- | --- |
| `walletId` | UUID | ID гаманця у форматі UUID | 1c48b092-9878-48f5-b441-07a8a48e7b54 | ні |  |
| `invoiceId` | UUID | ID рахунку у форматі UUID | 1c48b092-9878-48f5-b441-07a8a48e7b54 | ні |  |
| `startDate` | String | Початкова дата транзакції в блокчейні у форматі Y-m-d | 2000-01-01 | ні |  |
| `endDate` | String | Кінцева дата транзакції в блокчейні у форматі Y-m-d | 2030-01-01 | ні |  |
| `offset` | Integer | Номер початкового запису, з якого почнеться виведення даних | 0 | ні | 0 |
| `limit` | Integer | Кількість записів, які ви хочете отримати | 50 | ні | 10 |

## Приклад відповіді

Платіж, який уже пов’язано з рахунком:

```json
{
   "result":"success",
   "data":[
      {
         "id":"f986ad8d-2298-473d-982a-efbc817b975d",
         "amount":12,
         "hash":"f09352627039c088688806821b864895ff237558612d834861621fc026de5f68",
         "transactionDatetime":"2024-02-27 21:05:36",
         "invoice":{
            "id":"f31c61f6-407f-4999-95cf-56477eff06d4",
            "uid":"riUZBnNvd2rX",
            "projectId":"9deea1e2-0c08-41a3-bdc2-a34eada3892d",
            "createDatetime":"2024-02-27 20:57:23",
            "timeToPayDatetime":"2024-02-28 08:57:23",
            "commissionFiatUSD":0.12,
            "amountFiatUSD":12,
            "amountFiat":12,
            "currencyFiat":"USD",
            "description":null,
            "serviceData":"orderId:2444",
            "views":1,
            "status":"paid"
         },
         "wallet":{
            "id":"47aa71e2-07a0-482e-9172-7114d7376ba0",
            "name":"usdt-tron",
            "blockchain":"tron",
            "cryptocurrency":"usdt",
            "address":"TKbstUwMzLrfTAGL4erYb7gc7ghmHQ9zG7"
         }
      },
      {
         "id":"f3195184-9a6f-4c82-928b-d7fe7c015b7b",
         "amount":5.02,
         "hash":"74763b65e43bcc9492a6ce9a7f26fbfdbd7635aecd3454420b5e9534cba50ee6",
         "transactionDatetime":"2024-02-26 13:32:57",
         "invoice":{
            "id":"fac8ef03-2c41-4ce0-a432-7c33b928f16f",
            "uid":"AFhygKX21ecd",
            "projectId":"9deea1e2-0c08-41a3-bdc2-a34eada3892d",
            "createDatetime":"2024-02-26 13:29:24",
            "timeToPayDatetime":"2024-02-27 01:29:24",
            "commissionFiatUSD":0.05,
            "amountFiatUSD":5.02, 
            "amountFiat":5,
            "currencyFiat":"USD",
            "description":null,
            "serviceData":"orderId:3419",
            "views":3,
            "status":"paid"
         },
         "wallet":{
            "id":"47aa71e2-07a0-482e-9172-7114d7376ba0",
            "name":"usdt-tron",
            "blockchain":"tron",
            "cryptocurrency":"usdt",
            "address":"TKbstUwMzLrfTAGL4erYb7gc7ghmHQ9zG7"
         }
      }
   ]
}
```

**Платіж**, який сервіс знайшов, але **ще не пов’язав із рахунком**, надходить без блока invoice. Саме такі платежі є кандидатами на ручну прив’язку:

```json
{
   "result":"success",
   "data":[
      {
         "id":"c1d0f4a2-93b7-4f61-8c25-1a6f0e2b7d94",
         "amount":9.87,
         "hash":"5b1e4b1cf0a4c3d2e9f6a7b8c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f708192",
         "transactionDatetime":"2024-02-28 09:14:02",
         "wallet":{
            "id":"47aa71e2-07a0-482e-9172-7114d7376ba0",
            "name":"usdt-tron",
            "blockchain":"tron",
            "cryptocurrency":"usdt",
            "address":"TKbstUwMzLrfTAGL4erYb7gc7ghmHQ9zG7"
         }
      }
   ]
}
```

## Параметри відповіді

| Параметр | Опис |
| --- | --- |
| `id` | ID платежу у форматі UUID |
| `amount` | Сума платежу в криптовалюті |
| `hash` | Хеш транзакції в блокчейні |
| `transactionDatetime` | Дата й час транзакції в блокчейні (UTC) |
| `invoice` | Розділ із параметрами рахунку. Відображається, якщо до платежу прив’язано рахунок |
| `invoice.id` | ID рахунку у форматі UUID |
| `invoice.uid` | ID рахунку (для покупця) |
| `invoice.projectId` | ID проєкту у форматі UUID |
| `invoice.createDatetime` | Дата й час створення рахунку (UTC) |
| `invoice.timeToPayDatetime` | Дата й час, до якого дійсний рахунок (UTC) |
| `invoice.commissionFiatUSD` | Сума комісії сервісу. Розраховується відносно суми `invoice.amountFiatUSD` |
| `invoice.amountFiatUSD` | Сума рахунку, приведена до USD. Під час створення рахунку розраховується за поточним курсом відносно суми `invoice.amountFiat`. У момент оплати перезаписується фактично отриманою сумою, приведеною до USD за курсом на цей момент. Від неї ж перераховується комісія в `invoice.commissionFiatUSD` |
| `invoice.amountFiat` | Оригінальна сума рахунку у фіатній валюті. Не змінюється |
| `invoice.currencyFiat` | Валюта фіату |
| `invoice.description` | Опис, заданий під час створення рахунку |
| `invoice.serviceData` | Службові дані, задані під час створення рахунку |
| `invoice.views` | Кількість переглядів платіжної сторінки |
| `invoice.status` | Статус рахунку |
| `wallet` | Розділ із параметрами гаманця |
| `wallet.id` | ID гаманця у форматі UUID |
| `wallet.name` | Назва гаманця |
| `wallet.blockchain` | Блокчейн криптогаманця |
| `wallet.cryptocurrency` | Криптовалюта гаманця |
| `wallet.address` | Адреса криптогаманця |
