Transaction List API
API to retrieve the transaction list of linked bank accounts. Supports pagination and filtering by multiple criteria.
API Endpoint
GET
https://bankhub-api-sandbox.sepay.vn/v1/transactionQuery Parameters
pageinteger
Page number
Default:1per_pageinteger
Number of items per page
Default:20company_xidstring
Filter by company ID
bank_account_xidstring
Filter by bank account ID
brand_namestring
Filter by bank name (MBBank, Vietcombank...)
transaction_datestring
Filter by specific date (YYYY-MM-DD)
start_transaction_datestring
Filter from date (YYYY-MM-DD)
end_transaction_datestring
Filter to date (YYYY-MM-DD)
transfer_typeenum
Filter by transaction type (in = incoming, out = outgoing)
webhook_successenum
Filter by webhook status (0 = failed, 1 = success)
qstring
Search keyword (transaction content, payment code, account number)
Note
- This API requires a Bearer Token in the Authorization header
- Results are sorted by newest transaction time by default
- Use
transfer_typeto distinguish inbound (in) and outbound (out) transactions - The
webhook_successfield indicates whether the webhook was delivered successfully
Error Handling
401UnauthorizedThe access token is invalid or has expired
API Response
Response 200 - Success
{
"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>
List of transactions
metaobject
Pagination information
Code Examples
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'
Usage Examples
JSGet the first page with 10 transactions
1
2
curl --location 'https://bankhub-api-sandbox.sepay.vn/v1/transaction?limit=10&page=1' \--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
JSFilter transactions by company
1
2
curl --location 'https://bankhub-api-sandbox.sepay.vn/v1/transaction?company_xid=cmp_abc123xyz' \--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
JSFilter inbound transactions only
1
2
curl --location 'https://bankhub-api-sandbox.sepay.vn/v1/transaction?transfer_type=in' \--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
JSFilter by date range
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'
JSSearch by transaction content
1
2
curl --location 'https://bankhub-api-sandbox.sepay.vn/v1/transaction?content=DH123456' \--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Performance Notes
- Use an appropriate
limitvalue to optimize performance (recommended: 20-50, max 100) - For large volumes of transactions, filter by
company_xidorbank_account_xid - Use
transaction_date_minandtransaction_date_maxto limit the time range - Combine multiple filters to narrow down search results
Useful Filters
transfer_type: Filter by transaction type (in= inbound,out= outbound)amount_min/amount_max: Filter by amount rangecontent: Search by transaction contentbank_account_xid: Filter by specific bank account