API Danh sách giao dịch

API lấy danh sách giao dịch của các tài khoản ngân hàng đã liên kết. Hỗ trợ phân trang và lọc theo nhiều tiêu chí.


API Endpoint

GET
https://bankhub-api-sandbox.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

1
2
3
curl --request GET \
--url 'https://bankhub-api-sandbox.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-sandbox.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-sandbox.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-sandbox.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-sandbox.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-sandbox.sepay.vn/v1/transaction?content=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
  • content: 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ể