VCB API
Tích hợp giao dịch Vietcombank
Đồng bộ lịch sử giao dịch Vietcombank để xác nhận chuyển khoản và đối soát đơn hàng tự động. Kết nối này phù hợp cho website bán hàng, phần mềm quản lý đơn và hệ thống đối soát nhiều giao dịch.
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 Vietcombank để 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/historyapivcb/YOUR_TOKEN" \
--header "Accept: application/json"
<?php
$ch = curl_init('https://thueapibank.vn/historyapivcb/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/historyapivcb/YOUR_TOKEN', {
headers: { Accept: 'application/json' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
Response mẫu
{
"mid": "14",
"code": "00",
"des": "success",
"transactions": [
{
"tranDate": "02/04/2024",
"TransactionDate": "02/04/2024",
"Reference": "5243 - 51972",
"CD": "-",
"Amount": "10,000",
"Description": "MBVCB.5655475306.subgiare118064.CT tu 1041057526 PHAN XUAN TAN toi1021572769 HOANG VAN LINH",
"PCTime": "160258",
"DorCCode": "D",
"EffDate": "2024-04-02",
"PostingDate": "2024-04-02",
"PostingTime": "160258",
"Remark": "MBVCB.5655475306.subgiare118064.CT tu 1041057526 PHAN XUAN TAN toi1021572769 HOANG VAN LINH",
"SeqNo": "51972",
"TnxCode": "74",
"Teller": "5243"
},
{
"tranDate": "02/04/2024",
"TransactionDate": "02/04/2024",
"Reference": "5212 - 22584",
"CD": "+",
"Amount": "20,000",
"Description": "178415.020424.155533.NGUYEN THAI SON CHUYEN KHOAN",
"PCTime": "155533",
"DorCCode": "C",
"EffDate": "2024-04-02",
"PostingDate": "2024-04-02",
"PostingTime": "155533",
"Remark": "178415.020424.155533.NGUYEN THAI SON CHUYEN KHOAN",
"SeqNo": "22584",
"TnxCode": "34",
"Teller": "5212"
}
],
"nextIndex": "1"
}
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/historyapivcbv2/YOUR_TOKEN" \
--header "Accept: application/json"
<?php
$ch = curl_init('https://thueapibank.vn/historyapivcbv2/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/historyapivcbv2/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 Vietcombank 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/historyapivcbv3/PASSWORD/ACCOUNT_NUMBER/YOUR_TOKEN" \
--header "Accept: application/json"
<?php
$ch = curl_init('https://thueapibank.vn/historyapivcbv3/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/historyapivcbv3/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 Vietcombank. 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 Vietcombank
API Vietcombank dùng để làm gì?
API giúp lấy dữ liệu giao dịch Vietcombank 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 Vietcombank 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.