Skip to main content
Version: 1.0

API Transfer money

API Transfer money

Chat with AI▼

Endpoint: /api/v1/service/transfer/make

Method: POST

Header: How to generate JWT_TOKEN

Language: en | vi

{
"X-APPOTAPAY-AUTH": Bearer JWT_TOKEN,
"Content-Type": "application/json",
"Language": LANGUAGE
}

Params​

ParamsRequiredTypeDescription
bankCode√StringBank code as provided by AppotaPay is defined in the menu: List bank support transfer money.
accountNo√StringAccount number or card bank of client.

Length is 3-22 characters

Test account information

accountType√StringType of accountNo:

account: Account number

card: Card bank

accountName√StringRecipient's account/card holder name

- Letters a-z, A-Z

- Numeric characters 0-9

- Some other characters: .-,_&

amount√IntegerThe money request transfer for receiver by partner
feeType√StringThe person pay money transfer fee

payer: Payer pay money transfer fee

receiver: Receiver pay money transfer fee

partnerRefId√StringThis is unique code corresponding to a request send
messageString(100)Content transfer money.

- Max 100 characters length - Vietnamese unsigned

- Only text and number

- Do not fill special character: example: -,_,\

customerPhoneNumberStringCustomer phone number
contractNumberStringCustomer contract
channelStringUse the information field when paying for Citad, by default transmit 'citad'
bankIdString

Citad code for each branch

When paying on behalf of Citad, bankId is required

Citad code according to AppotaPay's regulations

signature√StringSignature of parameter passed to the API, the parameter is included into signature like this: accountName + accountNo + accountType + amount + bankCode + contractNumber + customerPhoneNumber + + feeType + message + partnerRefId (more how to generate signature)

Data result​

ParamsTypeDescription
errorCodeIntegerError code result
messageStringDescription detail error code
transactionObjectTransaction information
transaction.phoneNumberStringCustomer phone number
transaction.amountIntegerTransaction money
transaction.transferAmountIntegerThe actual amount transferred to the receiver, Will be less if this transaction paid by receiver
transaction.appotapayTransIdStringTransaction id from AppotaPay
transaction.timeStringTransaction time with format: d-m-Y H:i:s
accountObjectAccount information
account.balanceIntegerBalance account after transfer
signatureStringSignature of parameter passed to the API, the parameter is included into signature like this: amount + appotapayTransId + errorCode + time + transferAmount (see more how to generate signature)

Example​

Request​

{
"bankCode": "TPBANK",
"accountNo": "132100132400000",
"accountType": "account",
"accountName": "NGUYEN VAN A",
"amount": 50000,
"feeType": "payer",
"partnerRefId": "Partner9999",
"message": "ck tien",
"customerPhoneNumber": "0374720460",
"contractNumber": "1234567",
"channel": "citad",
"bankId":"11223344",
"signature": "b5bb9a6e9c71281fb1e9js"
}

Response​

{
"errorCode": 0,
"message": "Thành công",
"transaction": {
"amount": 50000,
"transferAmount": 50000,
"appotapayTransId": "AP19992831832",
"time": "27-10-2021 10:03:59"
},
"account": {
"balance": 2000000
},
"signature": "b5bb9a6e9c71281fb1e06d"
}

Test account information​

Account NoAccount TypeAccount NameBankCode
9704000000000018cardAPPOTAPAYTECHCOMBANK
888812345678accountAPPOTAPAYTECHCOMBANK