Professional Documents
Culture Documents
Hà Nội, 03/2022
Mục lục
I. Tổng quan....................................................................................................................................................................3
1. Danh sách các luồng ký thuật và các các api chi tiết..............................................................................................6
2.1. Luồng thanh toán thẻ (Thẻ nội địa, thẻ quốc tế)...........................................................................................7
2.2. Luồng thanh toán bằng Mã QR, ví điện tử, mobile money (Mã QR, Ví điện tử MoMo, Ví điện tử Zalo,
Viettel Money).....................................................................................................................................................8
2.3. Luồng thanh toán bằng hình thức Chuyển khoản.........................................................................................9
V. Thông tin cấu hình...................................................................................................................................................10
5. Khởi tạo giao dịch (Luồng thanh toán QRCode, ví điện tử, mobile money)........................................................21
6. Nhận kết quả giao dịch (Luồng thanh toán QRCode, ví điện tử, mobile money)................................................27
8. Nhận kết quả giao dịch (Luồng thanh toán Chuyển khoản)..................................................................................35
1. Danh sách các luồng ký thuật và các các api chi tiết
5 Luồng thanh toán Lấy token để kết nối hệ thống Domain Authen/connect/token
QRCode, ví điện JETPAY (Dùng chung cho các luồng) (VI.1)
8 Luồng thanh toán Lấy token để kết nối hệ thống Domain Authen/connect/token
Chuyển khoản JETPAY (Dùng chung cho các luồng) (VI.1)
2.1. Luồng thanh toán thẻ (Thẻ nội địa, thẻ quốc tế)
2.2. Luồng thanh toán bằng Mã QR, ví điện tử, mobile money (Mã QR, Ví điện tử MoMo,
Ví điện tử Zalo, Viettel Money)
2.3. Luồng thanh toán bằng hình thức Chuyển khoản
V. Thông tin cấu hình
JETPAY cung cấp cho ĐVCNTT hai môi trường để tích hợp:
TEST: Sử dụng trong quá trình tích hợp: xây dựng tính năng, kiểm thử, debug.
PRODUCTION: Sử dụng để triển khai cho khách hàng.
STT Tham số Giá trị môi trường TEST Giá trị môi trường PRODUCTION
1 MerchantCode Mã định danh ĐVCNTT được cấp sau khi KYC xong
2 ClientId Định danh client kết nối
3 ClientSecret Định danh client kết nối
4 Domain Payment Domain luồng thanh toán thẻ
5 Domain QRCode Domain luồng QRCode, Ví điện tử, Mobile Money
6 Domain Transfer Domain luồng Chuyển khoản
7 Domain Authen Domain xác thực client tích hợp
Lưu ý:
Thông tin client_id và client_secret là bảo mật, tránh để lộ ra bên ngoài.
Khi sinh token, body truyền vào ở dạng x-www-form-urlencoded.
client_id và client_secret vui lòng liên hệ JetPay để được cũng cấp.
Note: Convention các tham số đang theo thư viện IdentityServer4
Ví dụ:
curl --location -g --request POST '{{domain_authen}}/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=merchant-client' \
--data-urlencode 'client_secret=b811b443-d00b-11eb-abbf-005056894b78'
Response sucesss - HttpCode = 200
Ví dụ:
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkU1QUJCRkVGOEMzQjM2RDc
wRDg3MzI0QkZCNDM2MEQ4IiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE2MjU1NDEz
MDAsImV4cCI6MTYyNTYyNzcwMCwiaXNzIjoiaHR0cDovL2pldHBheS1hdXRoc2V
ydmljZSIsImF1ZCI6IkF1dGhTZXJ2aWNlIiwiY2xpZW50X2lkIjoibWVyY2hhbnQtY2x
pZW50IiwiaWF0IjoxNjI1NTQxMzAwLCJzY29wZSI6WyJBdXRoU2VydmljZSJdfQ.s
X1MJQJbCLSJmOcesE9iHZ8MBLgjvkJdmoips2MFYMy29c45Ef4vI9x7AqVQQYP0_
Z0Na5yFekUu9UTrLl2pJ8fGPF3g8H2p0T3zr4Tw_z7r6aNzL8FsouQWdPRoKqCUusy
CsEKmjA8yA3OEsZWPWcFyVV1noniIFsMb7Tf-
Qn5217nohaPoJjounE9XXQYmX8YaxUwm9rLXNEQ-
5s9vzdAWCsDrTYSbOP_KLfy1fiCnt4KT7C8TkOC9nPwpGTxoSPvHzv6lbCyK-
DRcuhY6Nik4D3ZfKCrzCj88v35f1cbQ4BwUiYgsSfD0rwEShcNwGqDrkSgHjSsttMRq
kgDGFw",
"expires_in": 86400,
"token_type": "Bearer",
"scope": "AuthService"
}
Mô tả
expires_in
int Không Thời gian sống của token, đơn vị giây
token_type
String Không Loại token
scope
String Không
Mã lỗi
Ví dụ
{
"error": "invalid_client"
}
Request
Order
Product
PaymentMethod
5: QRCode
6: Ví điện tử MoMo
7: Viettel Money
Khi paymentType = 1.
Trường này sẽ chỉ định trực
tiếp thẻ ngân hàng nào sẽ
được thanh toán
1: Visa
2: MasterCard
3: JCB
Customer
Merchant
Tham số Kiểu dữ liệu Có thể Ví dụ Mô tả
trống
https://
UrlCheckout String Không testdcpayment.jetpay.vn/ UrlCheckout để
paymentmethods/inland? đơn vị redirect
transactionId=6d6d12ce- sang JetPay
e918-4d7c-a76b-99fdfffdfbce Payment page
viettelpay://action/
Deeplink String Có command=AppInvoke&merc Deeplink
hant_code=DLTS14&order_i chuyển hướng
d=1540350100433&billcode= khách hàng tới
BILL_2018-10- App thanh toán
Mã lỗi
Lưu ý:
URL không phải là một dạng của localhost.
IP của JetPay được phép truy cập tới máy chủ của bạn.
Chứng chỉ HTTPS hợp lệ.
5. Khởi tạo giao dịch (Luồng thanh toán QRCode, ví điện tử, mobile money)
Url: Domain QRCode/qrcodes
Method: POST
Header
Request
Tham số Kiểu dữ Có thể Độ dài Mô tả
liệu trống
với payType=05
Nhỏ Nhất: 10.000 VND
Tối đa: 20.000.000 VND
ExpDate string Không Max(14) Thời gian hết hạn thanh toán,
định dạng: yyMMddHHmm
TipAndFee string Có Max(20) Tiền tip and fee, giá trị mặc
định để empty
PayType=06: URL để
chuyển trang sau khi khách
hàng thanh toán thành công
payType=05,06,07
Format(app_id|
zp_trans_token) sử
dựng để tích hợp SDK
payType=05
Details String Không The following errors were Chi tiết lỗi
detected during validation.
Mã lỗi
Request
Tham số Kiểu dữ Ví dụ Mô tả
liệu
PayDate string Thời gian hết hạn thanh toán, định dạng:
yyMMddHHmm
Response
Tham số Kiểu dữ Ví dụ Mô tả
liệu
Mã lỗi trả về
Data{
Data{
- String: txnId; // Mã đơn hàng
Data{
Data{
200 11 String Giao dịch thanh toán thất bại do tài khoản người dùng
không đủ tiền
200 12 String Thẻ được dùng để thanh toán hiện không còn khả dụng
200 13 String Giao dịch bị đã bị hủy
200 14 String Giao dịch thất bại do số tiền thanh toán vượt quá hạn mức
thanh
200 15 String Giao dịch thất bại do người dùng đã từ chối xác nhận
thanh toán.
200 16 String Giao dịch bị từ chối vì tài khoản người dùng đang ở trạng
thái
tạm khóa.
200 17 String Giao dịch bị hạn chế theo thể lệ chương trình khuyến mãi
công”
Data{
Method: POST
Header
Tham số Kiểu dữ liệu Có thể trống Ví dụ Mô tả
Request
Ngân hàng
Thương mại cổ Tên ngân hàng thụ hưởng
Không
BankName String phần Đầu tư và virtual account
Phát triển Việt
Nam
Mã lỗi
401 Unauthorized
8. Nhận kết quả giao dịch (Luồng thanh toán Chuyển khoản)
Merchant cần phải tạo một API ở phía backend để lắng nghe kết quả từ phía JetPay và cập nhật
dữ liệu.
Sau khi khách hàng chuyển khoản thành công, JetPay sẽ gửi thông báo kết quả ngay lập
tức tới URL của API để cập nhật dữ liệu.
Request
Tham số Kiểu dữ Ví dụ Mô tả
liệu
Tham số Kiểu dữ Ví dụ Mô tả
liệu
Data{
- String: productid;// Mã
sản phẩm
Data{
công”
Data{