Tổng quan Terminal
Dùng Terminal để nhận thanh toán trực tiếp tại quầy trên một reader vật lý. Backend của bạn gửi PaymentIntent tới reader. Reader thu phương thức thanh toán từ khách hàng. Bahn gửi kết quả tới webhook của bạn.
Luồng tổng quan
sequenceDiagram
autonumber
participant Merchant as Backend của merchant
participant API as Bahn API
participant Reader
participant Customer as Khách hàng
Merchant ->> API: Tạo PaymentIntent
API -->> Merchant: payment_intent (requires_payment_method)
Merchant ->> API: Gửi PaymentIntent tới reader
API -->> Merchant: reader_action (in_progress)
API ->> Reader: Bắt đầu action
Reader ->> Customer: Yêu cầu chạm, cắm thẻ hoặc quét mã
Customer ->> Reader: Phương thức thanh toán
Reader ->> API: Ủy quyền thanh toán
API -->> Merchant: Webhook kèm kết quả
Merchant ->> Merchant: Hoàn tất đơn hàng
Khái niệm
| Đối tượng | Mô tả |
|---|---|
| Account | Chủ tài khoản ngân hàng trên Cake. Bên nhận tiền. |
| Merchant | Pháp nhân kinh doanh thuộc một Account. |
| Location | Địa điểm vật lý mà merchant giao dịch. Thuộc về Account. |
| Terminal | Một đăng ký tại một Location. Mang mã terminal mạng lưới. |
| Reader | Một thiết bị thu ngân. Reader phải được duyệt cho một Terminal trước khi có thể nhận thanh toán. Việc duyệt diễn ra trên chính reader. |
| PaymentIntent | Một phiên thanh toán. Đây là cùng một đối tượng với thanh toán online. |
| Reader action | Một đơn vị công việc mà reader thực hiện, ví dụ process_payment_intent. Một reader chỉ chạy một action tại một thời điểm. |
Ai tạo cái gì
| Vai trò | Tạo |
|---|---|
| Admin hoặc portal | Account, Merchant, Location, Terminal |
| Thiết bị thu ngân | Reader (tự đăng ký lần đầu) |
| Thu ngân (trên reader) | Phê duyệt reader cho một Terminal |
| Backend của bạn | PaymentIntent |
| Backend của bạn | Gửi PaymentIntent tới một reader |
Phương thức thanh toán
| Phương thức | Mô tả |
|---|---|
card_present | Thẻ EMV cắm hoặc chạm. |
napas_qr | VietQR. |
visa_qr | Visa QR. |