Hoạt động thay cho một merchant đã kết nối
Platform có thể hoạt động thay cho một merchant đã kết nối bằng header Account. Header này hoạt động giống nhau trên mọi dịch vụ Bahn. Trang này cho thấy cách áp dụng cho Terminal.
Hãy đọc tổng quan và tích hợp phía server trước.
Trước khi bắt đầu
Platform phải có một kết nối đang hoạt động với merchant. Hãy yêu cầu kết nối qua account manager.
Platform phải nắm giữ một API key gắn với Account, phát hành qua portal.
Thực hiện lệnh gọi thay cho một merchant đã kết nối
Gửi request bằng API key của platform và đặt tên merchant cần hoạt động thay vào header Account.
curl -X POST "https://bn.cake.vn/api/payment_intents" \
-H "Bn-Api-Key: $PLATFORM_SECRET_KEY" \
-H "Account: $CONNECTED_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{
"amount": 10000,
"currency": "vnd",
"payment_method_types": ["card_present"]
}'Bn-Api-Keyđặt tên platform.Accountđặt tên merchant cần hoạt động thay.- PaymentIntent và mọi webhook phía sau được quy cho merchant đã kết nối, không phải cho platform.
Quy tắc truy cập
- Kết nối phải tồn tại và phải đang hoạt động.
- Account của platform và Account của merchant đã kết nối đều phải đang hoạt động.
- Credential cũ không thể hoạt động thay cho Account khác. Platform phải dùng API key gắn với Account, phát hành qua portal.
Nếu kết nối không tồn tại, API trả về lỗi từ chối truy cập. Lỗi không cho biết phần nào thất bại, theo thiết kế.
Gửi PaymentIntent tới reader
Các thao tác Terminal cho một merchant đã kết nối dùng chung endpoint với tích hợp phía server. Hãy thêm header Account trên mọi request.
curl -X POST "https://bn.cake.vn/api/terminal/readers/$READER_ID/process_payment_intent" \
-H "Bn-Api-Key: $PLATFORM_SECRET_KEY" \
-H "Account: $CONNECTED_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{
"payment_intent_id": "YOUR_PAYMENT_INTENT_ID",
"process_config": { "enable_customer_cancellation": true }
}'Các reader đã được duyệt cho Terminal của merchant đã kết nối có thể tiếp cận giống như với backend của chính merchant đó. Endpoint công khai để liệt kê reader theo Terminal đang nằm trong lộ trình. Hiện tại, hãy liên hệ account manager để xác nhận reader nào đã được duyệt cho một Terminal.
Luồng publishable key
Luồng publishable key của SDK cũng hỗ trợ connected account qua cùng header Account. Hãy xem tài liệu SDK để biết chi tiết.
Bước tiếp theo
Tham chiếu cho đối tượng, status, lỗi và event webhook.