Skip to Content
Link thanh toánTổng quan
View as Markdown

Link thanh toán — Tổng quan

Link thanh toán là một URL có thể chia sẻ, đưa người mua vào một trang thanh toán dựng sẵn mà bạn đã cấu hình sẵn. Không SDK, không tích hợp server — phát hành nó trong dashboard, chia sẻ, và cùng webhook payment.settled được phát khi vốn xác nhận on-chain.

Bên dưới, một link thanh toán chính là một CheckoutSession — “Link thanh toán” chỉ là tên gọi phía dashboard của một session không được tạo bởi luồng SDK do người mua chủ động. Cùng webhook contract, cùng việc ghi nhận thanh toán on-chain, cùng phí.

Use case phổ biến:

  • Xuất hóa đơn cho một khách hàng đơn lẻ mà không cần code
  • Trang sales nơi bạn không có cart tùy chỉnh
  • Follow-up B2B: paste link vào email
  • Trang tip cố định kiểu “Buy me a coffee”

Tạo payment link trong dashboard:

  1. Đăng nhập vào merchant dashboard 
  2. Payments → Payment Links → + New link
  3. Chọn một trong hai path:
    • New order — nhập line items, currency, thông tin khách hàng, và metadata tùy chọn. Dashboard tạo Order và link thanh toán trong cùng một lệnh gọi.
    • Existing order — chọn một order PENDING (ví dụ người mua đã từ bỏ link trước đó). Phát hành lại một link mới đứng sau cùng order, để lịch sử order giữ nguyên.
    • Ở New order, có thể chuyển sang Chỉ số tiền để thu một số tiền cố định mà không cần liệt kê sản phẩm.
  4. Save → dashboard hiển thị URL https://checkout.infraio.xyz/cst_… với nút copy và download QR code. Link test-mode dùng checkout-dev.infraio.xyz để môi trường được mã hóa trong hostname.

Mỗi link thanh toán hiện tại là single-use: khi người mua trả tiền, session là COMPLETED. Nếu một session hết hạn trước khi thanh toán (TTL mặc định 30 phút), mở trang chi tiết order và bấm Re-create link để phát hành một link mới cho cùng order.

Người mua thấy gì

  1. Họ vào checkout.infraio.xyz/<session_key> — cùng UI checkout do hệ thống host mà bạn sẽ nhận được từ session do SDK phát hành.
  2. Họ đi qua luồng chuẩn: chọn asset → gửi tiền → chờ confirmation được mô tả trong Checkout — Tổng quan.
  3. payment.settled được phát đến webhook của bạn với order, intent, receipt, tx hash on-chain, và số confirmation — cùng payload như bất kỳ thanh toán đã settle nào khác. Xem Webhooks để biết schema.

Dashboard cho bạn những gì

Link thanh toán hiện đi kèm:

  • List view — mọi link bạn đã phát hành, cursor-paginated, với trạng thái, số tiền, số order cha, khách hàng, expiry, và mở bằng một cú click đến URL người mua.
  • Filters — trạng thái (ACTIVE / COMPLETED / EXPIRED / CANCELED), khoảng ngày, và tìm kiếm tự do trên số order, tên khách hàng, email, hoặc external ref.
  • CSV export — một cú click, tôn trọng filter hiện tại.
  • KPI strip — đếm theo trạng thái cho môi trường hiện tại (live hoặc test), khớp với những gì bảng đang hiển thị.
  • Trang chi tiết — tóm tắt order, lịch sử session (mỗi lần thử cho order này), lịch sử on-chain với link đến block explorer, và hành động Re-create link cho các session đã hết hạn trước khi thanh toán.

Hạn chế hiện tại

  • Không có API programmatic — link phải được tạo trong dashboard. Bạn có thể tạo session single-use tương đương qua POST /b2b/v1/checkout-sessions/quick (xem Tham chiếu API), nhưng link có thể chia sẻ chỉ được tạo trong dashboard.
  • Không xác thực theo từng người mua — bất kỳ ai có URL đều có thể trả. Mỗi link là single-use, điều này giới hạn rủi ro đó.
  • Branding là toàn cục — link dùng logo, brand colour, và border radius theo merchant từ Settings → Branding. Override branding theo từng link không khả dụng.

Xem thêm