ACB API
Tích hợp giao dịch ACB
Truy vấn giao dịch ACB theo token và nhận dữ liệu chuẩn hóa để ghép nội dung chuyển khoản với đơn hàng. Kết nối này phù hợp cho cổng nạp tiền, website thương mại điện tử và hệ thống quản lý khách hàng.
Phương thứcGET
Định dạngJSON
Xác thựcToken
Phiên bảnV1, V2, V3
Tài liệu API theo phiên bản
Chọn phiên bản tương ứng trong trang quản lý tài khoản ACB để xem tham số và dữ liệu trả về.
Tham số cần thiết
| Tham số | Bắt buộc | Mô tả |
|---|---|---|
YOUR_TOKEN | Có | Token API được cấp trong trang quản lý. |
Code mẫu
curl --request GET \
"https://thueapibank.vn/historyapiacb/YOUR_TOKEN" \
--header "Accept: application/json"
<?php
$ch = curl_init('https://thueapibank.vn/historyapiacb/YOUR_TOKEN');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 20,
CURLOPT_HTTPHEADER => ['Accept: application/json'],
]);
$response = curl_exec($ch);
$data = json_decode($response, true, flags: JSON_THROW_ON_ERROR);
curl_close($ch);
const response = await fetch('https://thueapibank.vn/historyapiacb/YOUR_TOKEN', {
headers: { Accept: 'application/json' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
Response mẫu
{
"time": "2024-04-05T22:00:38.033+07:00",
"codeStatus": 200,
"messageStatus": "success",
"description": "",
"took": 3734,
"data": [
{
"amount": 100000,
"accountName": "TKTT TRUC TUYEN KHTN (CN) VND",
"receiverName": "HA VIET ANH",
"transactionNumber": 2505,
"description": "HA VIET ANH chuyen khoan-310324-18:45:33 957110",
"bankName": "MB - NH TMCP QUAN DOI",
"isOnline": true,
"postingDate": 1711904400000,
"accountOwner": null,
"type": "OUT",
"receiverAccountNumber": "",
"currency": "VND",
"account": 16687381,
"activeDatetime": 1711885534000,
"effectiveDate": 1711904400000
},
{
"amount": 100000,
"accountName": "TKTT TRUC TUYEN KHTN (CN) VND",
"receiverName": "",
"transactionNumber": 2504,
"description": "RW5843 GD 111973-033124 17:02:18",
"bankName": "",
"isOnline": false,
"postingDate": 1711904400000,
"accountOwner": null,
"type": "IN",
"receiverAccountNumber": "",
"currency": "VND",
"account": 16687381,
"activeDatetime": 1711879338000,
"effectiveDate": 1711904400000
}
],
"redisTook": 0
}
Tham số cần thiết
| Tham số | Bắt buộc | Mô tả |
|---|---|---|
YOUR_TOKEN | Có | Token API được cấp trong trang quản lý. |
Code mẫu
curl --request GET \
"https://thueapibank.vn/historyapiacbv2/YOUR_TOKEN" \
--header "Accept: application/json"
<?php
$ch = curl_init('https://thueapibank.vn/historyapiacbv2/YOUR_TOKEN');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 20,
CURLOPT_HTTPHEADER => ['Accept: application/json'],
]);
$response = curl_exec($ch);
$data = json_decode($response, true, flags: JSON_THROW_ON_ERROR);
curl_close($ch);
const response = await fetch('https://thueapibank.vn/historyapiacbv2/YOUR_TOKEN', {
headers: { Accept: 'application/json' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
Response mẫu
{
"status": "success",
"message": "Thành công",
"transactions": [
{
"transactionID": 3172,
"amount": 13000,
"description": "E4S9J GD 519816-013124 22:29:46",
"transactionDate": "01/02/2024",
"type": "IN"
},
{
"transactionID": 3171,
"amount": 10000,
"description": "Thanh toan QR E923Z GD 343127-013124 20:40:43",
"transactionDate": "01/02/2024",
"type": "OUT"
}
]
}
Tham số cần thiết
| Tham số | Bắt buộc | Mô tả |
|---|---|---|
PASSWORD | Có | Mật khẩu hoặc mã xác thực kết nối. |
ACCOUNT_NUMBER | Có | Số tài khoản ACB cần truy vấn. |
YOUR_TOKEN | Có | Token API được cấp trong trang quản lý. |
Code mẫu
curl --request GET \
"https://thueapibank.vn/historyapiacbv3/PASSWORD/ACCOUNT_NUMBER/YOUR_TOKEN" \
--header "Accept: application/json"
<?php
$ch = curl_init('https://thueapibank.vn/historyapiacbv3/PASSWORD/ACCOUNT_NUMBER/YOUR_TOKEN');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 20,
CURLOPT_HTTPHEADER => ['Accept: application/json'],
]);
$response = curl_exec($ch);
$data = json_decode($response, true, flags: JSON_THROW_ON_ERROR);
curl_close($ch);
const response = await fetch('https://thueapibank.vn/historyapiacbv3/PASSWORD/ACCOUNT_NUMBER/YOUR_TOKEN', {
headers: { Accept: 'application/json' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
Response mẫu
{
"status": "success",
"message": "Thành công",
"transactions": [
{
"type": "IN",
"transactionID": "FT26091912345678",
"amount": 450000,
"description": "DH1024 THANH TOAN",
"transactionDate": "2026-09-19 10:24:36"
}
]
}
Response thực tế có thể bổ sung trường riêng của ACB. Luôn kiểm tra trường tồn tại trước khi đọc.
Luồng xử lý khuyến nghị
- 1Lưu mã giao dịch
Dùng
transactionIDlàm khóa chống xử lý trùng. - 2Chỉ xử lý tiền vào
Kiểm tra
type === "IN"trước khi ghép đơn. - 3Ghép đúng đơn hàng
So khớp số tiền và mã đơn trong nội dung chuyển khoản.
- 4Đối soát lại
Chạy tác vụ định kỳ để bù các webhook bị chậm hoặc thất bại.
Câu hỏi về API ACB
API ACB dùng để làm gì?
API giúp lấy dữ liệu giao dịch ACB dạng JSON để xác nhận chuyển khoản, cộng số dư và đối soát tự động.
Nên dùng phiên bản API nào?
Nên ưu tiên phiên bản mới nhất mà tài khoản của bạn đang hỗ trợ. V1 và V2 phù hợp tích hợp bằng token; V3 bổ sung thông tin tài khoản trong đường dẫn.
Có thể nhận giao dịch ACB qua webhook không?
Có. Sau khi thêm tài khoản, bạn có thể cấu hình URL webhook để hệ thống gửi sự kiện giao dịch mới về máy chủ của bạn.