API lấy danh sách giao dịch

GET /transactions — truy vấn giao dịch trên các tài khoản đã liên kết qua SePay Bank Hub với phân trang, lọc theo ngày, số tiền, loại và tài khoản.

||

API Endpoint

GET
https://bankhub-api.sepay.vn/v1/transaction

Query Parameters

pageinteger

Số trang

Mặc định: 1
per_pageinteger

Số item mỗi trang

Mặc định: 20
company_xidstring

Lọc theo ID công ty

bank_account_xidstring

Lọc theo ID tài khoản ngân hàng

brand_namestring

Lọc theo tên ngân hàng (MBBank, Vietcombank...)

transaction_datestring

Lọc theo ngày cụ thể (YYYY-MM-DD)

start_transaction_datestring

Lọc từ ngày (YYYY-MM-DD)

end_transaction_datestring

Lọc đến ngày (YYYY-MM-DD)

transfer_typeenum

Lọc theo loại giao dịch (in = tiền vào, out = tiền ra)

webhook_successenum

Lọc theo trạng thái webhook (0 = thất bại, 1 = thành công)

qstring

Từ khóa tìm kiếm (nội dung giao dịch, mã thanh toán, số tài khoản)

Lưu ý
  • API này yêu cầu Bearer Token trong header Authorization
  • Kết quả được sắp xếp theo thời gian giao dịch mới nhất
  • Sử dụng transfer_type để phân biệt giao dịch tiền vào (in) và tiền ra (out)
  • Trường webhook_success cho biết webhook đã được gửi thành công hay chưa

Xử lý lỗi

401Unauthorized

Access token không hợp lệ hoặc đã hết hạn

API Response

Response 200 - Thành công
{
  "data": [
    {
      "transaction_id": "string",
      "transaction_date": "string",
      "bank_account_xid": "string",
      "company_xid": "string",
      "brand_name": "string",
      "account_number": "string",
      "va": "string",
      "va_xid": "string",
      "reference_number": "string",
      "transfer_type": "in",
      "amount": 0,
      "transaction_content": "string",
      "payment_code": "string",
      "webhook_success": 0
    }
  ],
  "meta": {
    "page": 0,
    "per_page": 0,
    "total": 0,
    "total_pages": 0
  }
}
dataarray<object>

Danh sách giao dịch

metaobject

Thông tin phân trang

Code mẫu

>
>
>
curl --request GET \
--url 'https://bankhub-api.sepay.vn/v1/transaction?page=SOME_INTEGER_VALUE&per_page=SOME_INTEGER_VALUE&company_xid=SOME_STRING_VALUE&bank_account_xid=SOME_STRING_VALUE&brand_name=SOME_STRING_VALUE&transaction_date=SOME_STRING_VALUE&start_transaction_date=SOME_STRING_VALUE&end_transaction_date=SOME_STRING_VALUE&transfer_type=SOME_STRING_VALUE&webhook_success=SOME_INTEGER_VALUE&q=SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Ví dụ sử dụng

JSLấy trang đầu tiên với 10 giao dịch
1
2
curl --location 'https://bankhub-api.sepay.vn/v1/transaction?limit=10&page=1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
JSLọc giao dịch theo công ty
1
2
curl --location 'https://bankhub-api.sepay.vn/v1/transaction?company_xid=cmp_abc123xyz' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
JSLọc chỉ giao dịch tiền vào
1
2
curl --location 'https://bankhub-api.sepay.vn/v1/transaction?transfer_type=in' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
JSLọc theo khoảng thời gian
1
2
curl --location 'https://bankhub-api.sepay.vn/v1/transaction?transaction_date_min=2024-01-01&transaction_date_max=2024-01-31' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
JSTìm kiếm theo nội dung giao dịch
1
2
curl --location 'https://bankhub-api.sepay.vn/v1/transaction?q=DH123456' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Lưu ý về Performance
  • Nên sử dụng limit phù hợp để tối ưu hiệu suất (khuyến nghị: 20-50, tối đa 100)
  • Với số lượng giao dịch lớn, nên lọc theo company_xid hoặc bank_account_xid
  • Sử dụng transaction_date_mintransaction_date_max để giới hạn khoảng thời gian
  • Kết hợp nhiều filter để thu hẹp kết quả tìm kiếm
Các bộ lọc hữu ích
  • transfer_type: Lọc theo loại giao dịch (in = tiền vào, out = tiền ra)
  • amount_min / amount_max: Lọc theo khoảng số tiền
  • q: Tìm kiếm theo nội dung giao dịch
  • bank_account_xid: Lọc theo tài khoản ngân hàng cụ thể