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

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ả
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.
accountNoStringSố tài khoản hoặc số thẻ ngân hàng của khách hàng.
Độ dài từ 3-22 ký tự
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: .-,_&

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ên
messageString(100)Nội dung chuyển tiền.

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

- Tối đa 100 ký tự

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

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

customerPhoneNumberStringSố điện thoại của khách hàng
contractNumberStringMã hợp đồng của khách hàng
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"
}