Skip to content

Checkout Sessions

Checkout Session 是 IronixPay 的核心支付对象。每次收款对应一个 Session,系统会为其分配独立的链上收款地址。

创建 Session

POST /v1/checkout/sessions

请求

bash
curl -X POST https://api.ironixpay.com/v1/checkout/sessions \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "pricing_amount": "10.50",
    "pricing_currency": "USDT",
    "currency": "USDT",
    "network": "TRON",
    "client_reference_id": "order_12345",
    "success_url": "https://example.com/success",
    "cancel_url": "https://example.com/cancel"
  }'

法币定价

pricing_currency 支持法币(USDCNYEUR 等),系统会根据实时汇率自动换算为 currency 指定的加密货币金额:

json
{
  "pricing_amount": "10.50",
  "pricing_currency": "USD",
  "currency": "USDT",
  "network": "TRON",
  "success_url": "https://example.com/success",
  "cancel_url": "https://example.com/cancel"
}

参数

参数类型必填说明
pricing_amountstring金额(人类可读格式),例如 "10.50" 表示 10.50。加密货币:最小 1.00,最大 10,000,000.00,精度 0.01。法币:需换算后 ≥ 1 加密货币
pricing_currencystring定价币种。加密货币(USDTUSDC)= 直接定价,须等于 currency。法币(USDCNYEURGBPJPY 等)= 系统自动换算
currencystring链上结算代币:USDTUSDC
networkstring区块链网络:TRONSOLANABSCETHEREUMPOLYGONARBITRUMOPTIMISMBASE。详见支持的网络
success_urlstring支付成功后重定向地址
cancel_urlstring过期或取消时重定向地址
client_reference_idstring你的业务订单 ID,方便对账

完整字段说明见 API Reference

在 API Reference 中查看 →

响应

json
{
  "id": "cs_abc123def456",
  "livemode": false,
  "url": "https://checkout.ironixpay.com/cs_abc123def456",
  "status": "Pending",
  "amount_expected": "10.5",
  "amount_received": "0",
  "currency": "USDT",
  "network": "TRON",
  "merchant_name": "Acme Store",
  "pay_address": "TQFEyGNzHZAJmebJUvsoZvJghHm2yNhXAD",
  "client_reference_id": "order_12345",
  "pricing": {
    "currency": "USDT",
    "amount": "10.5",
    "exchange_rate": "1.00000000"
  },
  "success_url": "https://example.com/success",
  "cancel_url": "https://example.com/cancel",
  "expires_at": "2026-02-11T04:26:00Z",
  "created_at": "2026-02-11T03:56:00Z"
}
法币定价的响应示例

pricing_currency 为法币(如 USD)时,响应中的 pricing 对象包含原始定价信息和汇率:

json
{
  "pricing": {
    "currency": "USD",
    "amount": "10.50",
    "exchange_rate": "1.00050000"
  }
}

exchange_rate 表示 1 USDT = 1.0005 USD,系统据此计算实际收款金额 amount_expected

查询 Session

GET /v1/checkout/sessions/:id

查询某个 Session 的当前状态:

bash
curl https://api.ironixpay.com/v1/checkout/sessions/cs_abc123 \
  -H "Authorization: Bearer sk_test_..."

Session 生命周期

┌─────────┐   全额付款    ┌───────────────┐
│ Pending │─────────────▶│ Paid/Overpaid │
└─────────┘              └───────────────┘
     │                          ▲
     │ 部分付款                   │ 追加付款
     ▼                          │
┌───────────┐ ──────────────────┘
│ Underpaid │
└───────────┘

     │ 超时

┌─────────┐
│ Expired │
└─────────┘

AML:每笔入账在记入之前都会经过 AML 检查。如发送地址命中黑名单,Session 直接进入 Blocked

  • PendingPaid / Overpaid:全额或超额到账,AML 通过
  • PendingUnderpaid:到账金额不足
  • UnderpaidPaid / Overpaid:追加到账补齐或超额
  • Underpaid / PendingExpired:超时未付清

状态说明

状态说明
Pending已创建,等待付款
Underpaid到账不足,等待补款或超时
Paid全额到账(精确匹配)
Overpaid到账金额超过预期
Expired超时未付清 — 若有部分到账,转入 Resolution Center
BlockedAML 命中风险,资金冻结待审

付款匹配

IronixPay 用 amount_received 字段反映实际到账金额:

  • 精确匹配amount_received == amount_expectedPaid
  • 不足amount_received < amount_expectedUnderpaid(活跃时)或 Expired(超时后转入 Resolution Center
  • 超额amount_received > amount_expectedOverpaid,多出部分可通过 Resolution 退还