Chọn mô hình tích hợp ZaloPay phù hợp
CHECKLIST CÁC BƯỚC TÍCH HỢP
Bước 1: Chọn hình thức thanh toán
Bước 2: Gửi yêu cầu tạo đơn hàng
Bước 4: Truy vấn trạng thái đơn hàng
Bước 3: Redirect đến trang ZaloPay Gateway
Bước 5: Xử lý CallBack từ ZaloPay Server
Bước 6: ZaloPay Gateway chuyển hướng (redirect) về Merchant Site
-
-
-
-
Khi End-user thực hiện thao tác thanh toán đơn hàng, giao diện Merchant Site cần hiển thị các hình thức thanh toán của ZaloPay như: Ví ZaloPay, Thẻ Visa/Master/JCB, Thẻ ATM theo một trong các quy cách sau:
Tải về:
Download source HTML (quy cách 1)
Download source HTML (quy cách 2)
Tiếp theo, End-user bấm nút Thanh Toán để gửi yêu cầu tạo đơn hàng (bước 2)
Sau khi End-user bấm Thanh Toán, MerchantSite gửi yêu cầu tạo đơn hàng sang MerchantServer. MerchantServer sẽ gọi API tạo đơn hàng của ZaloPayServer (API tạo đơn hàng)
Lưu ý: Cách sử dụng tham số bankcode trong API tạo đơn hàng, tương ứng với từng tùy chọn hình thức thanh toán
bankcode | Kết quả hiển thị trên trang cổng thanh toán |
---|---|
Rỗng ("" ) (*) |
Danh sách tất cả các hình thức và ngân hàng được hỗ trợ (CC , ATM , zalopayapp , ...) |
zalopayapp |
Hiển thị QR code để thanh toán bằng ví ZaloPay/ Mở ứng dụng ZaloPay để thanh toán qua ví đối với mobile |
CC |
Form nhập thông tin Credit Card |
Mã ngân hàng ATM (VTB , VCB , ...) |
Form nhập thông tin thẻ của ngân hàng tương ứng |
bank_code | preferred_payment_method | Nội dung truyền thông tin | Kết quả hiển thị trên trang cổng thanh toán |
---|---|---|---|
Rỗng ("") | [] | "bank_code": "", "embed_data": { "preferred_payment_method": [] } |
Danh sách tất cả các hình thức và ngân hàng được hỗ trợ (ATM, CC, ZaloPay, ZaloPay QR đa năng, Apple Pay ...) |
Rỗng ("") | [“domestic_card”, “account”] | "bank_code": "", "embed_data": { "preferred_payment_method": [“domestic_card”, “account”] } |
Danh sách tất cả Ngân hàng hỗ trợ, người dùng chọn và nhập thông tin thẻ ATM hoặc tài khoản Ngân hàng tương ứng |
Rỗng ("") | [“zalopay_wallet”] | "bank_code": "", "embed_data": { "preferred_payment_method": [“zalopay_wallet”] } |
Hiển thị ZaloPay QR code để thanh toán bằng Zalo/ZaloPay |
Rỗng ("") | [“vietqr”] | "bank_code": "", "embed_data": { "preferred_payment_method": [“vietqr”] } |
Hiển thị ZaloPay QR đa năng để thanh toán bằng các ứng dụng Ngân hàng và Zalo/ZaloPay |
Rỗng ("") | [“international_card”] | "bank_code": "", "embed_data": { "preferred_payment_method": [“international_card”] } |
Form hiển thị cho việc nhập thông tin thẻ tín dụng |
Rỗng ("") | [“applepay”] | "bank_code": "", "embed_data": { "preferred_payment_method": [“applepay”] } |
Form hiển thị cho việc chọn phương thức Apple Pay |
Mã ngân hàng ATM (VTB, VCB, ...) | [] | "bank_code": "specific bankcode", "embed_data": { "preferred_payment_method": [] } |
Form nhập thông tin thẻ của ngân hàng tương ứng Merchant sử dụng API Getlistmerchantbanks để lấy giá trị specific bankcode |
15 phút sau khi tạo đơn hàng ở bước 2 (15 phút là thời gian timeout của giao dịch), nếu chưa nhận được thông tin callback, Merchant Server chủ động gửi request đến ZaloPay Server để lấy thông tin trạng thái đơn hàng.
API liên quan: getstatusbyapptransid
Ghi chú:
- API getstatusbyapptransid chỉ có hiệu lực trong vòng 48h kể từ lúc ZaloPay Server ghi nhận đơn hàng.
- API getstatusbyapptransid chỉ có thể sử dụng sau khi hệ thống của Merchant nhận callback hoặc redirect hoặc 15 phút sau khi tạo đơn hàng.
Khi MerchantServer gọi request tạo đơn hàng tới ZaloPayServer (ở bước 2) sẽ nhận được kết quả có chứa giá trị order_url. MerchantSite sử dụng order_url này để redirect người dùng đến cổng thanh toán ZaloPay.
{
"returncode": 1,
"returnmessage": "Thành công",
"orderurl":"https://qcgateway.zalopay.vn/openinapp?order=eyJ6cHRyYW5zdG9rZW4iOiJ4dGd1SEs1YnU0VDJkSHE3TUFwTFFnIiwiYXBwaWQiOjN9"
}
Sau khi End-user hoàn thành các bước thanh toán trên ZaloPay Gateway, nếu trừ tiền user thành công ZaloPayServer sẽ trả về (callback/notify) thông tin trạng thái thanh toán cho MerchantServer theo callback_url lúc đăng ký ứng dụng hoặc giá trị callback_url ở bước tạo đơn hàng (chỉ áp dụng cho tài liệu v2).
API liên quan: callback
- Sau khi End-user thanh toán, ZaloPay Server sẽ trả về trạng thái giao dịch cho ZaloPay Gateway.
- ZaloPay Gateway chuyển hướng (redirect) về Merchant Site để hiển thị kết quả giao dịch trên giao diện.
API liên quan: redirect