Nhảy tới nội dung
Phiên bản: Lastest

API Chuyển tiền

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

Method: POST

Header: Cách tạo JWT_TOKEN

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

Tham số

Tham sốYêu cầuKiểu dữ liệuMô tảGhi chú
bankCodeStringMã ngân hàng theo quy định của AppotaPay được định nghĩa ở mục: Danh sách Ngân hàng hỗ trợ chuyển tiền.max_length:30
accountNoStringSố tài khoản hoặc số thẻ ngân hàng của khách hàng.
Thông tin tài khoản test
min_length:3 max_length:22
accountTypeStringPhân loại accountNo

account: Số tài khoản ngân hàng

card: Số thẻ ngân hàng

accountNameStringTên chủ tài khoản/thẻ của người nhận

- Các kí tự chữ a-z, A-Z

- Các kí tự số 0-9

- Một số kí tự khác: .-,_&

max_length:80
amountIntegerSố tiền mà đối tác yêu cầu chuyển cho người nhận.
feeTypeStringNgười chịu phí chuyển tiền

payer: Người chuyển chịu phí phí

receiver: Người nhận chịu phí

partnerRefIdStringLà mã duy nhất tương ứng với một request gửi lênmax_length:50
messageStringNội dung chuyển tiền.

- Tiếng việt không dấu

- Chỉ nhập chữ và số

- Không nhập ký tự đặc biệt: ví dụ: -,_,\

max_length:255
customerPhoneNumberStringSố điện thoại của khách hàngmin_length:10 max_length:15
contractNumberStringMã hợp đồng của khách hàngmax_length:30
channelStringSử dụng trường thông tin khi Chi hộ Citad, mặc định truyền ‘citad’
bankIdString

Mã citad theo từng chi nhánh

Khi Chi hộ Citad, bankId là bắt buộc

Mã Citad theo quy định của AppotaPay

signatureStringChữ ký các tham số truyền lên API, các tham số được đưa vào chữ ký theo thứ tự bao gồm: accountName + accountNo + accountType + amount + bankCode + contractNumber + customerPhoneNumber + feeType + message + partnerRefId (xem thêm phần cách tạo signature)

Dữ liệu trả về

Tham sốKiểu dữ liệuMô tả
errorCodeIntegerMã lỗi trả về
messageStringMô tả chi tiết mã lỗi
transactionObjectThông tin giao dịch
transaction.phoneNumberStringSố điện thoại khách hàng
transaction.amountIntegerSố tiền giao dịch
transaction.transferAmountIntegerSố tiền thực tế chuyển cho người nhận, sẽ ít hơn nếu phí chuyển tiền người nhận chịu.
transaction.appotapayTransIdStringMã giao dịch phía AppotaPay
transaction.timeStringThời gian giao dịch ở format: d-m-Y H:i:s
accountObjectThông tin tài khoản
account.balanceIntegerSố dư tài khoản sau giao dịch
signatureStringChữ ký các tham số truyền lên API, các tham số được đưa vào chữ ký theo thứ tự bao gồm: amount + appotapayTransId + errorCode + time + transferAmount (xem thêm phần cách tạo signature)

Ví dụ

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"
}

Thông tin tài khoản test

Số Tài khoảnLoại tài khoảnTên Tài khoảnBankCode
9704000000000018cardAPPOTAPAYTECHCOMBANK
888812345678accountAPPOTAPAYTECHCOMBANK