Skip to main content
Version: 1.0

API Transfer money

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

Method: POST

Header: How to generate JWT_TOKEN

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

Params

ParamsRequiredTypeDescription
bankCodeStringBank code as provided by AppotaPay is defined in the menu: List bank support transfer money.
accountNoStringAccount number or card bank of client.

Length is 3-22 characters

Test account information

accountTypeStringType of accountNo:

account: Account number

card: Card bank

accountNameStringRecipient's account/card holder name

- Letters a-z, A-Z

- Numeric characters 0-9

- Some other characters: .-,_&

amountIntegerThe money request transfer for receiver by partner
feeTypeStringThe person pay money transfer fee

payer: Payer pay money transfer fee

receiver: Receiver pay money transfer fee

partnerRefIdStringThis 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

signatureStringSignature 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