Tài liệu API

Sử dụng key bạn nhận được sau khi tạo key trên Dashboard. Key thay thế tài khoản/mật khẩu bank; không cần gửi TK/MK trong request.

Định dạng thống nhất: API ACB và MB trả về cùng cấu trúc data cho /balance (accounts, totalBalance, currency) và /history (transactions, fromDate, toDate). Code tích hợp một lần, đổi bank chỉ cần đổi URL.

Base URL

Gửi request GET tới domain của bạn, ví dụ:

https://Thuepay.com/api/{ngan_hang}/{key}/{endpoint}

ACB API Ngân hàng ACB

1. Lấy số dư

Trả về thông tin số dư tài khoản thanh toán.

GET /api/acb/{key}/balance

Ví dụ request:

GET /api/acb/PJnwNm0g6RDFJM4DNkxt.../balance

Ví dụ response thành công (200) — định dạng thống nhất với MB:

{
  "success": true,
  "data": {
    "accounts": [
      { "accountNo": "123456789", "accountName": "NGUYEN VAN A", "balance": "10000000", "currency": "VND" }
    ],
    "totalBalance": "10000000",
    "currency": "VND"
  }
}

Khi key sai hoặc hết hạn (404):

{
  "success": false,
  "error": "Key không hợp lệ hoặc đã hết hạn"
}

2. Lịch sử giao dịch

Trả về lịch sử giao dịch theo số tài khoản.

GET /api/acb/{key}/history

Query (tùy chọn):

  • account – Số tài khoản (mặc định lấy từ key)
  • maxRows – Số dòng tối đa (mặc định 50)

Ví dụ:

GET /api/acb/{key}/history?account=123456789&maxRows=20

Ví dụ response thành công (200) — định dạng thống nhất với MB:

{
  "success": true,
  "data": {
    "transactions": [
      { "refNo": "...", "transactionDate": "...", "description": "...", "amount": 100000, "creditAmount": "100000", "debitAmount": null, "balance": "..." }
    ],
    "fromDate": null,
    "toDate": null
  }
}

MB API Ngân hàng MB

1. Lấy số dư

Trả về danh sách tài khoản và tổng số dư. Lấy accountNo trong từng phần tử accounts để gọi API lịch sử giao dịch.

GET /api/mb/{key}/balance

Ví dụ response thành công (200):

{
  "success": true,
  "data": {
    "accounts": [
      {
        "accountNo": "0123456789",
        "accountName": "NGUYEN VAN A",
        "balance": "10000000",
        "currency": "VND"
      }
    ],
    "totalBalance": "...",
    "currencyEquivalent": "VND"
  }
}

Dùng accountNo (ví dụ 0123456789) làm tham số account khi gọi /history.

2. Lịch sử giao dịch

Trả về lịch sử giao dịch theo số tài khoản và số ngày. Bắt buộc truyền số tài khoản (account hoặc accountNo) — lấy từ response của /balance. Nếu thiếu sẽ lỗi GW300 | Source Account is not belong customer.

GET /api/mb/{key}/history

Query:

  • account hoặc accountNoSố tài khoản (bắt buộc, lấy từ /balance)
  • days – Số ngày lấy lịch sử (mặc định 30, tùy chọn)

Ví dụ:

GET /api/mb/{key}/history?account=0123456789&days=7

Ví dụ response thành công (200) — cùng định dạng với ACB:

{
  "success": true,
  "data": {
    "transactions": [
      { "refNo": "...", "transactionDate": "...", "description": "...", "amount": 100000, "creditAmount": "100000", "debitAmount": null, "balance": "..." }
    ],
    "fromDate": "14/02/2026",
    "toDate": "21/02/2026"
  }
}

Mã lỗi chung

  • 404 – Key không tồn tại, đã hết hạn hoặc bị khóa.
  • 400 – Lỗi từ phía ngân hàng (sai TK/MK, lỗi kết nối, v.v.). Trường error trong JSON mô tả chi tiết.
  • 500 – Lỗi máy chủ; thử lại sau.

Mọi response đều trả về JSON với success: true/falsedata (khi thành công) hoặc error (khi thất bại).