NAV

Mô hình tích hợp

Chọn mô hình tích hợp ZaloPay phù hợp

Website - Cổng

Giới thiệu Demo Hướng dẫn tích hợp API

HƯỚNG DẪN TÍCH HỢP

SƠ ĐỒ LUỒNG XỬ LÝ
* CHÚ THÍCH

-
-
-
-

center my-5 maxw-80

1. Chọn hình thức thanh toán

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:

QUY CÁCH 1
Với quy cách này, danh sách ngân hàng sẽ được hiển thị trên giao diện của ZaloPay Gateway ở bước sau
QUY CÁCH 2
Với quy cách này, danh sách ngân hàng được hiển thị trên giao diện Merchant Site

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)

2. Gửi yêu cầu tạo đơn hàng

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

2.1 Theo cấu trúc cũ
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
2.2 Theo cấu trúc mới
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

4. Truy vấn trạng thái đơn hàng

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.

3. Redirect đến trang ZaloPay Gateway

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

5. Xử lý CallBack từ ZaloPay Server

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

6. ZaloPay Gateway chuyển hướng (redirect) về Merchant Site

- 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

Không tìm thấy kết quả phù hợp