Skip to main content

Confirm disbursement approval

PUT
URLhttps://open-api.tingee.vn/v1/direct-link/approve-confirm

Confirm the approval of a disbursement payment order (Checker)

Header Request​

HeaderRequiredDescription
Content-Type✓application/json
x-client-id✓Partner identifier issued by TINGEE.
x-signature✓HMAC SHA512 authentication signature.
x-request-timestamp✓Time the request is sent (format: yyyyMMddHHmmssSSS, UTC+7)

Body Parameter​

FieldTypeRequiredDescription
bankBinstring✓Bank BIN. Supports 970418 (BIDV, uses the authorization session of the Checker role) and 970448 (OCB).
actionTypestring✓Disbursement order type
- INTERNAL_TRANSFER: Domestic transfer
- SALARY: Salary payment
- BILL_PAYMENT: Bill / statement payment
confirmIdstring✓Transaction confirmation key. For BIDV: the data.confirmId value returned by the Approve payment order API (when requireAuth = true).
otpstring~OTP / SmartOTP generated by the bank app.
Required for BIDV.
batchIdstring~Transaction batch ID.
Required for OCB.

Code samples​

curl --location --request PUT 'https://open-api.tingee.vn/v1/direct-link/approve-confirm' \
--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",
"confirmId": "TXNKEY_APPROVAL_25607354makerotv_a8993883-d5fe-4ced-a0c0-20cff5b5120b",
"otp": "12345678"
}'

Sample Response​

{
"code": "00",
"message": "Success",
"data": {
"successfulTransactions": [
{
"transactionId": "PM1326061500074977",
"transactionType": "regular-out",
"amount": 52525,
"currency": "VND",
"feeAccountNumber": "8600007007",
"transactionCode": "PM13",
"effectiveDate": "2026-06-15",
"acceptedDate": null,
"approvedDate": null,
"processDate": "2026-06-15T14:54:25.985408353",
"amountText": "Năm mươi hai nghìn năm trăm hai mươi lăm đồng",
"feeAmount": 10000,
"feeTotal": 11000,
"feeVAT": 1000,
"feeMethod": "O",
"remark": "Thanh toan don hang",
"originId": "TRANS_1506_A1",
"priority": false,
"status": "SUCCESS",
"creditAccountType": "ACCOUNT",
"creditAccountNumber": "123456789",
"creditAccountName": "NGUYEN VAN A",
"creditBankCode": "01202001",
"creditBankName": "Ngân hàng Đầu tư và Phát triển Việt Nam",
"creditBankShortName": "BIDV",
"debitAccountNumber": "987654321",
"debitAccountName": "CONG TY ABC"
}
],
"failedTransactions": []
}
}
FieldTypeDescription
codestringResult code (00 = Success).
messagestringResponse message.
dataobjectObject containing the approval result.
data.successfulTransactionsarrayDetails of the transactions approved successfully (BIDV).
data.failedTransactionsarrayDetails of the transactions whose approval failed (BIDV).
data.batchIdstringThe submitted batch ID (only returned for OCB — in that case data contains only this field).

Items in successfulTransactions / failedTransactions​

FieldTypeDescription
transactionIdstringBIDV transaction ID.
transactionTypestringTransaction type: in-bank (within BIDV), regular-out (standard interbank transfer), fast-out (NAPAS 247 fast transfer).
transactionCodestringBIDV transaction type code (e.g. PM02, PM13).
statusstringTransaction status returned by BIDV (e.g. INIT, PENDING_APPROVAL, PROCESSING, BANK_PROCESSING, APPROVED, SUCCESS, REJECTED, FAILED).
amountnumberTransaction amount.
amountTextstringAmount in words.
currencystringCurrency (VND).
remarkstringTransaction description.
approvalNotestringApproval request note from the maker (Maker).
originIdstringThe requestId reference the partner sent when creating the order.
prioritybooleanPriority processing flag.
effectiveDatestringTransaction effective date.
acceptedDatestringTime the bank accepted the transaction.
approvedDatestringTime the transaction was approved.
processDatestringTime the bank processed the transaction.
feeMethodstringFee payer: O (the payment account pays the fee), B (the recipient pays the fee).
feeAccountNumberstringFee account.
feeAmountnumberTransaction fee (excluding VAT).
feeVATnumberVAT on the fee.
feeTotalnumberTotal transaction fee.
debitAccountNumberstringDebit account number.
debitAccountNamestringDebit account name.
creditAccountTypestringHow the recipient receives the money: ACCOUNT (account number) or ID (identity document).
creditAccountNumberstringRecipient account number.
creditAccountNamestringRecipient name.
creditBankCodestringRecipient bank code in the CITAD standard (e.g. 01202001 is BIDV).
creditBankNamestringRecipient bank name.
creditBankShortNamestringRecipient bank short name.
creditBankAbbrstringRecipient bank abbreviation.
creditBranchCodestringRecipient bank branch code.
creditBranchNamestringRecipient bank branch name.
creditIdstringRecipient identity document number (when creditAccountType = ID).
creditIssueDatestringIdentity document issue date.
creditIssueAddressstringIdentity document place of issue.
creditCurrencystringRecipient currency.
originalCreditAccountNumberstringOriginal recipient account number (from the original data when the order was created, if BIDV returns it).
originalCreditNamestringOriginal recipient name (from the original data when the order was created, if BIDV returns it).

Fields that BIDV does not return are omitted from the item (or have a null value).


Common error codes​

CodeDescriptionHow to handle
1077The BIDV authorization session of the approver (Checker) has expired or has not been grantedCall Get authorization URL with role = Checker so the approver signs in again, then repeat the approval step.
1021The bank is not supported for this APICheck bankBin; only BIDV and OCB are supported.
90, 91, 92, 97Request authentication error (timestamp, client-id, signature)See System error codes.
OthersOther errorsSee Error codes.