Skip to main content

Confirm payment order

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

Authenticate and complete the approval request for a disbursement payment order you created

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. Currently only 970418 (BIDV) is supported. The API uses the BIDV authorization session of the Maker role.
actionTypestring✓Purpose of the disbursement order (must match the actionType used when creating the order)
- INTERNAL_TRANSFER: Domestic transfer
- SALARY: Salary payment
- BILL_PAYMENT: Bill / statement payment
confirmIdstring✓Confirmation key, taken from data.confirmId of the Create payment order API (action = REQUEST_APPROVAL) or the Submit payment order for approval API (when requireAuth = true).
otpstring~Confirmation value (OTP / SmartOTP).
Required for BIDV.

Code samples​

curl --location --request PUT 'https://open-api.tingee.vn/v1/direct-link/confirm-transfer' \
--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_INIT_PM13_25607354makerotv_2827594e-037d-434b-b534-b1ff52adad4a",
"otp": "123456"
}'

Sample Response​

{
"code": "00",
"message": "Success",
"data": {
"successfulTransactions": [
{
"transactionId": "PM2226061600075162",
"amount": 101418,
"currency": "VND",
"feeAccountNumber": "8600007007",
"transactionCode": "PM22",
"effectiveDate": "2026-06-16",
"processDate": "2026-06-16T11:20:19.448429323",
"feeTotal": 27500,
"feeMethod": "O",
"remark": "Chuyen luong",
"approvalNote": "",
"originId": "8AFF13679AC48563911C4B50BA857E8E",
"priority": true,
"status": "PENDING_APPROVAL",
"creditAccountType": "ACCOUNT",
"creditAccountNumber": "2220366666",
"creditAccountName": "TITLE 1 2220366666",
"debitAccountNumber": "8600007007",
"debitAccountName": "Title 1 8600007007"
}
],
"failedTransactions": []
}
}

Response data structure​

FieldTypeDescription
successfulTransactionsarrayTransactions authenticated successfully.
failedTransactionsarrayTransactions whose authentication failed.
batchNostringBIDV batch number (only returned when confirming an INTERNAL_TRANSFER batch order).

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 maker (Maker) has expired or has not been grantedCall Get authorization URL with role = Maker to re-authorize; create the transaction again if confirmId has expired.
1021The bank is not supported for this APICheck bankBin; this API only supports BIDV (970418).
90, 91, 92, 97Request authentication error (timestamp, client-id, signature)See System error codes.
OthersOther errorsSee Error codes.