# รายการการชำระเงิน

## ภาพรวม

บริการค้นพบการชำระเงินทั้งหมดที่เข้ากระเป๋าเงินคริปโตของคุณโดยอัตโนมัติ แต่เฉพาะช่วงที่มีใบแจ้งหนี้ซึ่งการค้นหายังทำงานอยู่ การค้นหาทำงานระหว่างที่ใบแจ้งหนี้ยังไม่ถูกชำระ และดำเนินต่ออีกหนึ่งชั่วโมงหลังกำหนดเวลาชำระเงิน — เผื่อเครือข่ายที่ช้า หากไม่มีใบแจ้งหนี้แบบนั้น ธุรกรรมขาเข้าจะไม่เข้าสู่ระบบ

## คำขอ

```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 | วันที่เริ่มต้นของธุรกรรม on-chain ในรูปแบบ Y-m-d | 2000-01-01 | ไม่ |  |
| `endDate` | String | วันที่สิ้นสุดของธุรกรรม on-chain ในรูปแบบ 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` | แฮชของธุรกรรม on-chain |
| `transactionDatetime` | วันที่และเวลาของธุรกรรม on-chain (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` | ที่อยู่ของกระเป๋าเงินคริปโต |
