Skip to Content
Khái niệmChains & tài sản
View as Markdown

Chains & tài sản

InfraIO Pay ưu tiên stablecoin và hỗ trợ đa chain: tám network EVM cùng TRON, Solana và TON. Ma trận bên dưới liệt kê các network InfraIO Pay hỗ trợ. TRON, Solana và TON sắp ra mắt.

Mainnet

ChainChain IDNativeUSDCUSDTConfirmationsMin order
Ethereum1ETH✓ (ERC-20)✓ (ERC-20)12$5.00
Base8453ETH✓ (ERC-20)—10$1.00
Polygon137POL✓ (ERC-20)✓ (ERC-20)5$1.00
BSC56BNB✓ (18-decimal)✓ (18-decimal)5$1.00
Arbitrum42161ETH✓ (ERC-20)✓ (ERC-20)5$1.00
Optimism10ETH✓ (ERC-20)✓ (ERC-20)5$1.00
ZKsync Era324ETH——5$1.00
Mantle5000MNT——5$1.00

USDC + USDT trên BSC dùng 18 decimal, không phải 6 như mọi nơi khác. Nếu bạn tự tính amount token, hãy tính tới điều này. SDK và trang checkout do hệ thống host đã xử lý giúp bạn.

“Min order” là số tiền đơn hàng tối thiểu tính bằng USD. Mặc định là $1.00 trên mainnet và $0.50 trên testnet, riêng Ethereum là $5 vì phí mạng (gas) trên Ethereum sẽ lấn át các order nhỏ. Mức tối thiểu có thể khác nhau theo từng network. Order dưới ngưỡng bị reject với AMOUNT_BELOW_MINIMUM (HTTP 400), và details.floor_usd mang mức tối thiểu của network đó để bạn hiển thị cho người mua.

TRON, Solana và TON

Sắp ra mắt. TRON, Solana và TON hiện chưa có trên production.

ChainChain IDNativeUSDCUSDTConfirmationsMin order
TRON728126428TRX—✓ (TRC-20)19$1.00
Solana1151111081099710SOL✓ (SPL)✓ (SPL)32$1.00
TON607000000000000TON—✓ (Jetton)1$1.00

Solana và TON không có chain ID kiểu EVM, nên các ID ở trên là mã định danh nội bộ mà API dùng cho chúng. Mọi stablecoin liệt kê ở đây đều dùng 6 decimal. TON finalize từng block, nên chỉ cần một confirmation là đã final.

Testnet

ChainChain IDNativeConfirmationsMin order
Ethereum Sepolia11155111ETH1$0.50
Base Sepolia84532ETH1$0.50
Polygon Amoy80002POL1$0.50
BNB Smart Chain Testnet97tBNB1$0.50
Arbitrum Sepolia421614ETH1$0.50
OP Sepolia11155420ETH1$0.50
Mantle Sepolia5003MNT1$0.50
ZKsync Sepolia300ETH1$0.50

Chế độ thử nghiệm dùng các testnet thật, không phải chain giả lập. Để kích hoạt một giao dịch thử bạn cần token testnet thật — lấy từ faucet (ví dụ sepoliafaucet.com , coinbase.com/faucets ) rồi gửi đến địa chỉ nhận tiền riêng cho từng đơn mà trang thanh toán sinh ra.

TRON Nile, Solana Devnet, TON Testnet

ChainChain IDNativeToken thử nghiệmConfirmationsMin order
TRON Nile3448148188TRXUSDT, IUSD19$0.50
Solana Devnet1151111081099711SOLUSDC, IUSD32$0.50
TON Testnet607000000000003TONIUSD1$0.50

Chế độ thử nghiệm trên các network này cũng dùng testnet thật. IUSD là stablecoin thử nghiệm (IUSD), chỉ dùng để test.

Mã currency dùng trong API

currency (ở body cấp cao nhất và trong mỗi line item) là display currency của order — số tiền mà người mua nhìn thấy. Hiện tại platform chấp nhận duy nhất một mã khi tạo:

  • "USD" — giá trị duy nhất được hỗ trợ. Cả POST /v1/orders và POST /b2b/v1/checkout-sessions/quick đều reject mọi thứ khác với INVALID_INPUT (“unsupported currency”). GET /v1/supported/currencies trả về danh sách hiện tại.

Tài sản on-chain mà người mua dùng để settle (USDC, USDT, …) không phải là trường currency. Nó được người mua chọn trên trang checkout từ các cặp chain × token mà bạn đã enable trong cấu hình merchant, và được trả về cho bạn trên PaymentIntent và payload webhook dưới dạng settlement_token (ký hiệu + chain). Đồng native trả phí mạng (gas) (ETH, BNB, POL, MNT, TRX, SOL, TON) chỉ là metadata của chain — không phải payment currency hợp lệ.

Chain bản thân cũng không được chỉ định tại thời điểm tạo — cùng lý do: người mua chọn cặp trên trang checkout.

Confirmations vs finality

Cột “Confirmations” ở trên là số block mà InfraIO Pay chờ trước khi chuyển một PaymentIntent sang SETTLED và gửi payment.settled. Số lượng được chọn theo từng network để khiến reorg khó xảy ra:

  • Ethereum mainnet dùng 12 confirmation.
  • L2 dùng số lượng thấp hơn, phản ánh rủi ro reorg của từng network.
  • Testnet dùng 1 confirmation để việc test nhanh. Đừng coi thanh toán test là finality ngang mainnet.

Nếu bạn cần confirmation chặt hơn (hoặc lỏng hơn) cho một chain cụ thể, số count theo từng chain có thể cấu hình ở tài khoản merchant — trao đổi với account contact của bạn.

Bật chain cho merchant của bạn

Một tài khoản mới bắt đầu với một tập testnet rộng. Các network mainnet khả dụng khi bạn đã hoàn tất xác minh tài khoản và thêm ví Treasury cho network đó (bạn ký một thông điệp để chứng minh quyền kiểm soát ví).

Thanh toán đi thẳng vào các ví Treasury của bạn — InfraIO Pay không bao giờ giữ tiền của bạn.

Bật thêm chain tại Settings → Networks trong merchant dashboard.

Địa chỉ nhận tiền riêng cho từng đơn (CREATE2, EVM)

Trên các network EVM, mỗi đơn có một địa chỉ nhận tiền riêng (per-order deposit address, tạo bằng CREATE2) và mỗi địa chỉ là duy nhất cho một checkout và được tạo trước. Bạn không tạo hay fund gì cả: bạn nhận địa chỉ trên PaymentIntent và hiển thị nó cho người mua.

  • Hai intent cho cùng một merchant nhận được địa chỉ khác nhau — không có collision giữa các người mua.
  • Người mua thấy địa chỉ trên trang checkout ngay lập tức.
  • Người mua không bao giờ trả phí mạng (gas) cho khâu thiết lập. Tiền được chuyển tự động về ví Treasury của bạn mà không cần bạn theo dõi bước chuyển tiền riêng (sweep: bước hệ thống gom tiền từ địa chỉ nhận tiền của đơn về ví Treasury).

Hệ quả thực tế cho integrator:

  • deposit_address trả về trên một PaymentIntent là một địa chỉ EVM thông thường — bạn có thể hiển thị nó dưới dạng QR, quét nó, gửi từ ví bất kỳ. Không cần hỗ trợ client đặc biệt.
  • Gửi đến địa chỉ trước khi intent hết hạn sẽ settle order. Khoản nạp muộn (gửi sau khi hết hạn) đôi khi có thể được chuyển về ví Treasury của bạn, nhưng điều này không được đảm bảo, nên đừng dựa vào nó.
  • Mỗi địa chỉ là single-use cho mỗi intent. Nếu một người mua cần thử lại lần hai, hãy phát hành một checkout session mới — bạn sẽ nhận được địa chỉ mới.

Network thanh toán thẳng vào ví

TRON, Solana và TON hoạt động khác với EVM. Không có địa chỉ nhận tiền riêng cho từng đơn và không có bước chuyển tiền (sweep): ví của người mua trả thẳng vào ví Treasury của bạn (kiểu Thẳng vào ví, Direct to wallet). Khi phí nền tảng được thu on-chain, nó được tách ra ngay trong cùng giao dịch đó (phần của bạn cộng với phí). Nếu không, phí được trừ vào credit trả trước của bạn. Nền tảng quyết định cách nào áp dụng, không phải merchant.

NetworkCách người mua thanh toán
TRONTronLink. Checkout mở bên trong TronLink và người mua duyệt giao dịch chuyển.
SolanaSolana Pay. Người mua quét mã QR bằng Phantom, Solflare hoặc bất kỳ ví Solana Pay nào; ví sẽ lấy giao dịch từ trang checkout.
TONTON Connect (Tonkeeper, Telegram Wallet, MyTonWallet). Người mua duyệt một yêu cầu duy nhất; các giao dịch chuyển mang một comment tham chiếu order để xác định khoản thanh toán.

Trước khi người mua có thể chọn một trong các network này, hãy thêm ví Treasury cho họ network đó (EVM, TRON, Solana hoặc TON) trong merchant dashboard. Định dạng địa chỉ được chấp nhận:

  • TRON — địa chỉ base58 bắt đầu bằng T…
  • Solana — public key base58
  • TON — dạng thân thiện UQ… / EQ… (hoặc dạng raw 0:…), chỉ basechain

Trên các network này không có địa chỉ nhận tiền riêng cho từng đơn để hiển thị, vì vậy hãy để trang thanh toán dựng sẵn điều khiển việc thanh toán.

Những thứ HIỆN CHƯA hỗ trợ

  • Bitcoin / Lightning. Không được hỗ trợ.
  • Thanh toán bằng đồng native. Người mua chỉ trả bằng stablecoin. Các đồng native (ETH, BNB, POL, MNT, TRX, SOL, TON) không được chấp nhận làm phương tiện thanh toán trên bất kỳ network nào.
  • Stablecoin khác (USDe, FDUSD, …). Liên hệ support để yêu cầu thêm một token trên network đã được enable.

Tiếp theo