Skip to content

Onboarding ​

Trước khi bạn có thể gọi Bahn REST API hoặc nhúng Web SDK, bạn cần hoàn tất một lần onboarding với đội ngũ Bahn. Onboarding tạo ra các thông tin xác thực (credentials) mà mọi bước sau đó phụ thuộc vào: tài khoản merchant của bạn, một bộ public key đã được trao đổi, một API key phía server, và một publishable key phía client.

Một số bước được xử lý thủ công bởi đội ngũ Bahn — việc tạo tài khoản merchant của bạn không phải là tự phục vụ (self-service).

Tổng quan ​

sequenceDiagram
    autonumber
    participant You as You (Merchant)
    participant Bahn as Bahn Team
    participant API as Bahn API

    Note over You, Bahn: Step 1 — Create merchant account (manual)
    You ->> Bahn: Request onboarding (business details)
    Bahn -->> You: Merchant account created

    Note over You, API: Step 2 — Exchange public keys
    You ->> You: Generate P-256 key pairs (sig + enc)
    You ->> Bahn: Submit your public keys (JWK)
    You ->> API: GET /api/public-keys
    API -->> You: Bahn's public keys (JWK)

    Note over You, Bahn: Step 3 — Receive API key
    Bahn -->> You: Bn-Api-Key (secret, server-side)

    Note over You, Bahn: Step 4 — Receive publishable key
    Bahn -->> You: Publishable key (pk_..., client-side)

Bước 1 — Tạo tài khoản merchant của bạn ​

Việc tạo tài khoản merchant là một bước thủ công. Liên hệ Bahn (account manager của bạn) để được onboarding. Đội ngũ Bahn sẽ khởi tạo tài khoản merchant của bạn để các thông tin xác thực ở các bước tiếp theo có thể được cấp.

Cung cấp các thông tin sau để Bahn có thể thiết lập tài khoản của bạn:

Thông tin tài khoản

TrườngMô tả
nameTên merchant / doanh nghiệp của bạn.
mccMerchant Category Code (ISO 18245) mô tả lĩnh vực kinh doanh của bạn.
city_codeMã thành phố nơi đặt trụ sở doanh nghiệp của bạn.
country_codeMã quốc gia nơi đặt trụ sở doanh nghiệp của bạn.
settlement_currencyLoại tiền tệ mà Bahn dùng để thanh toán (settle) tiền cho bạn.
payment_currencyLoại tiền tệ mà người mua của bạn bị tính phí.

Thông tin doanh nghiệp

TrườngMô tả
website_urlWebsite doanh nghiệp của bạn.
contact_personTên người liên hệ chính.
contact_phoneSố điện thoại liên hệ.
contact_emailĐịa chỉ email liên hệ.
descriptionMô tả ngắn về doanh nghiệp của bạn.
cityThành phố.
countryQuốc gia.
address_line1Địa chỉ, dòng 1.
address_line2Địa chỉ, dòng 2 (tùy chọn).

Cấu hình webhook

TrườngMô tả
webhook_urlEndpoint HTTPS nơi Bahn gửi webhook event.
webhook_enabled_eventsCác loại event bạn muốn được gửi đến webhook của mình.

INFO

Không có API tự phục vụ để tạo merchant — bước này được đội ngũ Bahn hoàn tất trong quá trình onboarding.

Bước 2 — Trao đổi public key ​

Bahn bảo mật payload của request và response bằng framework JOSE, vì vậy bạn và Bahn trao đổi public key với nhau một lần.

  1. Tạo hai cặp khóa P-256 — một để ký request (JWS), một để giải mã response (JWE). Xem Tạo cặp khóa. Private key của bạn không bao giờ rời khỏi hệ thống của bạn.
  2. Gửi public key của bạn cho Bahn — gửi cả hai public key ở định dạng JWK. Mỗi key phải bao gồm một kid và một use (sig hoặc enc). Xem Yêu cầu đối với public key.
  3. Lấy public key của Bahn — lấy về các JWK key mà Bahn sử dụng để bạn có thể mã hóa dữ liệu thẻ nhạy cảm phía client và xác minh các response đã được ký:
http
GET /api/public-keys

Bước 3 — Nhận API key của bạn ​

Sau khi tài khoản merchant của bạn được tạo, Bahn sẽ cấp API key của bạn. Gửi nó trên mọi REST request bằng header Bn-Api-Key — xem API key.

WARNING

API key là một bí mật phía server. Không bao giờ để lộ nó trong trình duyệt, ứng dụng di động, hoặc repository công khai. Nếu bị lộ, liên hệ đội hỗ trợ Bahn để được cấp lại (rotate).

Bước 4 — Nhận publishable key của bạn ​

Để thu thập thông tin thẻ phía client với Web SDK, Bahn cấp một publishable key (pk_...). Không giống như API key, publishable key có thể được nhúng an toàn vào frontend của bạn. Sử dụng nó để khởi tạo SDK — xem Web SDK · Bắt đầu.

Tóm tắt thông tin xác thực ​

Thông tin xác thựcLoạiDùng choĐược cung cấp bởi
Cặp khóa ký & mã hóaKhóa của bạn (private key giữ ở phía bạn)Ký JWS / Giải mã JWEBạn — Bước 2
Public key của BahnCông khai (JWK)Mã hóa dữ liệu thẻ, xác minh responseBahn — GET /api/public-keys
API key (Bn-Api-Key)Bí mậtLệnh gọi REST phía serverBahn — Bước 3
Publishable key (pk_...)Công khaiWeb SDK (phía client)Bahn — Bước 4

Bước tiếp theo ​

Developers