はじめに
決済の全体像
InfraIO Pay を組み込むマーチャントが扱う要素は 4 つあります。
チェックアウトセッション
サーバー側で行明細と合計金額を指定してセッションを作成します。
レスポンスには session_key(cst_…)と checkout_url が含まれます。
セッションは TTL 付き(デフォルト 30 分)で 1 回限りです。
ホスト型チェックアウトページ
ブラウザ SDK を読み込み、セッションを開きます — popup、redirect、 または埋め込み iframe です。バイヤーはチェーン × アセットの組み合わせ (Polygon 上の USDT、Base 上の ETH、…)を選び、生成されたデポジット アドレス + QR コードを確認し、自分のウォレットから資金を送ります。
決済確認
payment-service は該当チェーンを監視し、セッションのデポジット
アドレスに一致する着金を追跡します。設定された確認回数(例:
Ethereum メインネットで 12、Polygon で 5 — チェーン & アセット
を参照)をクリアすると、背後の PaymentIntent は SETTLED に、
親の Order は PAID に遷移します。
Webhook
登録された Webhook URL に、署名付きの payment.settled イベントを
POST します。あなたのサーバーは署名を検証し、external_ref 経由で
自社の注文と紐付け、フルフィルメントを行います。
1 枚の図で見るデータモデル
CheckoutSession ← 1:1 → Order ← 1:N → PaymentIntent
(TTL 付き) (永続) (支払い試行ごとに 1 つ)フルフィルメントについては Order を参照し、決済を受け取る ときは Session を作成します。リトライやチェーン選択については、 システムが背後で PaymentIntent を管理します。
当方が対応すること vs. あなたが対応すること
| InfraIO Pay が対応すること | あなたが対応すること |
|---|---|
| ホスト型チェックアウト UI(デポジットアドレス、QR、アセット選択) | 自社 DB でのカタログ + 注文の作成 |
| 8 つの EVM チェーンにわたるチェーン監視 + 確認ロジック | Webhook の受信 + 署名検証 |
| マルチアセットチェックアウト(USDT、USDC、チェーンごとのネイティブ ETH/BNB/POL/MNT) | order_id と自社の注文 ID を external_ref で紐付け |
| 返金会計(ステートマシン、ダッシュボード、API) | オンチェーン返金トランザクションの署名 + ブロードキャスト |
| テストモードキー + 分離されたテスト Webhook | フォーセットからのテストネットウォレットへの資金供給 |
当方はマーチャント資金の管理を保持しません。バイヤーからマーチャントへの 送金は 直接 オンチェーンで行われます。当方はインデクサー兼 リコンサイル層として、送金が確定したタイミングを通知します。
テストモード vs ライブモード
すべてのアカウントは テストモード で開始します。テストキーには
pk_test_ / sk_test_ のプレフィックスが付きます。ライブキー
(pk_live_ / sk_live_)は以下の条件でゲートされます:
- KYB の完了
- Treasury ウォレットの証明(受け取りたい各チェーンで、送金先 ウォレットを管理していることを証明するメッセージに署名します)
同じ API ベース URL が両方に対応します — 環境は URL ではなく キーのプレフィックス で決まります。テストモードは 実際の テストネット(Sepolia、Base Sepolia、BSC Testnet など)に対して 動作します — モックチェーンはありません。テスト決済をトリガーする には、フォーセットから実際のテストネット資金を取得する必要があります。
InfraIO Pay ではないもの
- カストディアンではありません。 資金はバイヤーからマーチャント ウォレットへオンチェーンで直接移動します。当方が残高を保持する ことはありません。
- ウォレットプロバイダーではありません。 顧客は自分のウォレットを 持ち込みます。ホスト型チェックアウトには組み込みの WalletConnect オプションがありますが、ネイティブなカストディ機能はありません。
- フィアットランプではありません。 バイヤーは保有している暗号資産で 支払います。当方は変換を行いません。
- 現時点で Tron や Solana のゲートウェイではありません。 EVM ファーストです。最新の対応マトリクスは チェーン & アセット を参照してください。
次に
- クイックスタート — 約 10 分で コピー&ペーストの初回インテグレーションを完了させます。
- コンセプト → セッション — データモデルを 詳しく解説します。
- SDK → JavaScript — 現在公開している唯一の SDK です。