SePay API v2 overview

Introduction to SePay API v2 for querying transactions and managing bank accounts. Features unified JSON responses, bearer auth, and improved rate limits.

||

SePay API v2 is a REST API that lets your server proactively query bank transactions and manage virtual-account orders from SePay. Use it for periodic reconciliation, displaying transaction history to customers, internal admin dashboards, or automating order creation in your workflow.

If you need to know the moment a new transaction arrives (real-time), use webhooks instead of polling. API and webhooks complement each other: webhooks handle real-time, the API handles lookup and reconciliation.

What you can do

Transactions

List and look up transaction details; filter by date, account, amount.See Transactions API →

Bank accounts

List every bank account linked to your SePay company.See Bank Accounts API →

Virtual accounts (VA)

Look up every VA across supported banks.See Virtual Accounts API →

Order VAs

Create, cancel, attach/cancel VAs on an order. Supports BIDV (enterprise), Sacombank (personal/household business) and Vietcombank (enterprise/household business).See Order VAs API →

What's new in v2

  • Unified JSON envelope response, UUID identifiers instead of numeric IDs
  • Standardized pagination (page/per_page), integer currency fields
  • Proper HTTP status codes (401, 404, 422, 429)
  • Virtual Accounts API (new)

Detailed comparison: Legacy API vs API v2 Comparison.

API environments

SePay API v2 supports two environments. Request and response formats are identical: only the base URL and data scope differ:

Production

  • Base URL: https://userapi.sepay.vn/v2
  • Real bank-transaction data, affects Live accounts
  • Uses your Live API token (created from Company SettingsAPI Access while in Live mode)

Sandbox

  • Base URL: https://userapi-sandbox.sepay.vn/v2
  • Data fully isolated from Live; use for development and testing
  • Create a separate token from API Access while in Test mode. Live and Sandbox tokens are not interchangeable: each one only authenticates on its own endpoint
Production only

The Order VAs API is Production only.

Requirements

  1. A SePay account with at least one linked bank account
  2. An API Token: generated from the Dashboard
SePay Bank Hub

If you're a business with an existing user platform and want to integrate bank linking and balance change notifications for each end user, refer to the SePay Bank Hub solution.

Next steps