Bỏ qua để đến nội dung chính
Phiên bản: 1.2.2 (Latest)

Đẩy duyệt lệnh chi hộ đã lưu

POST
URLhttps://open-api.tingee.vn/v1/direct-link/process-transaction

Đẩy duyệt lệnh chi hộ đã lưu

Header Request​

HeaderBắt buộcMô tả
Content-Type✓application/json
x-client-id✓Mã định danh của đối tác do TINGEE cung cấp.
x-signature✓Chữ ký xác thực HMAC SHA512.
x-request-timestamp✓Thời gian gửi request (format: yyyyMMddHHmmssSSS, múi giờ UTC+7)

Body Parameter​

TrườngKiểuBắt buộcMô tả
bankBinstring✓Mã BIN ngân hàng. Hiện chỉ hỗ trợ 970418 (BIDV). API sử dụng phiên ủy quyền BIDV của vai trò Maker.
actionTypestring✓Loại lệnh chi hộ
- INTERNAL_TRANSFER: Chuyển tiền trong nước
- SALARY: Thanh toán Lương
- BILL_PAYMENT: Thanh toán Hóa đơn-Bảng kê
transactionIdsarray✓Danh sách mã giao dịch (đang ở trạng thái nháp INIT) cần đẩy duyệt.
- INTERNAL_TRANSFER: giá trị records[].transactionId trả về khi Khởi tạo lệnh chi hộ với action = INIT
- SALARY / BILL_PAYMENT: giá trị data.transactionId (mã giao dịch cấp lô)

Ví dụ mã nguồn​

curl --location --request POST 'https://open-api.tingee.vn/v1/direct-link/process-transaction' \
--header 'accept: application/json' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'x-request-timestamp: 20240509154004003' \
--header 'x-signature: YOUR_SIGNATURE' \
--header 'Content-Type: application/json' \
--data '{
"bankBin": "970418",
"actionType": "INTERNAL_TRANSFER",
"transactionIds": [
"PM0226061000074420"
]
}'

Response mẫu​

{
"code": "00",
"message": "Success",
"data": {
"successfulTransactions": [],
"failedTransactions": [],
"requireAuth": true,
"transAuth": {
"authType": "SMARTOTP",
"expTime": 120,
"qrData": "OTkwMDVCMDUwMDMyMTc4MTE0MjI4NDkwNS1kYjdjZWU3NC1hNTdjLTQxMjItODljZi1jZmEyYWNjMDkyZjgwNjAwMDQ3OTczMjAwMDEzQklEVklCQU5LX1RSQU5TX09UUA=="
},
"confirmId": "TXNKEY_APPROVAL_25607354makerotv_a8993883-d5fe-4ced-a0c0-20cff5b5120b",
"confirmUrl": null
}
}
TrườngKiểuMô tả
codestringMã kết quả (00 = Thành công).
messagestringThông điệp phản hồi.
dataobjectĐối tượng chứa kết quả đẩy duyệt giao dịch.
data.successfulTransactionsarrayDanh sách các giao dịch đẩy duyệt thành công (mỗi phần tử có transactionId là mã giao dịch). Thường rỗng khi requireAuth = true — kết quả cuối cùng trả về ở bước xác nhận OTP.
data.failedTransactionsarrayDanh sách các giao dịch đẩy duyệt thất bại.
data.requireAuthbooleanCờ xác định có yêu cầu xác thực thêm hay không (VD: SmartOTP).
data.transAuthobjectThông tin xác thực thêm (chỉ có giá trị khi requireAuth = true, ngược lại là null).
data.confirmIdstringChuỗi key xác nhận. Khi requireAuth = true, truyền giá trị này cùng mã OTP vào API Xác nhận lệnh chi hộ để hoàn tất đẩy duyệt.
data.confirmUrlstringURL để người dùng xác nhận giao dịch (nếu BIDV trả về).

Chi tiết data.transAuth (khi requireAuth = true)​

TrườngKiểuMô tả
authTypestringPhương thức xác thực (VD: SMARTOTP).
expTimenumberThời gian hiệu lực của mã QR (tính bằng giây).
qrDatastringChuỗi dữ liệu dùng để render hình ảnh QR Code; quét bằng ứng dụng BIDV Direct để lấy mã SmartOTP.

Mã lỗi thường gặp​

CodeMô tảHướng xử lý
1077Phiên ủy quyền BIDV của người lập (Maker) đã hết hạn hoặc chưa được cấpGọi Lấy đường dẫn xác thực với role = Maker để ủy quyền lại, sau đó đẩy duyệt lại.
1021Ngân hàng không được hỗ trợ cho API nàyKiểm tra bankBin; API này chỉ hỗ trợ BIDV (970418).
90, 91, 92, 97Lỗi xác thực request (timestamp, client-id, chữ ký)Xem Mã lỗi hệ thống.
OthersLỗi khácXem Danh sách mã lỗi.