Skip to Content
はじめにはじめに

はじめに

決済の全体像

InfraIO Pay を組み込むマーチャントが扱う要素は 4 つあります。

チェックアウトセッション

サーバー側で行明細と合計金額を指定してセッションを作成します。 レスポンスには session_keycst_…)と 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_)は以下の条件でゲートされます:

  1. KYB の完了
  2. Treasury ウォレットの証明(受け取りたい各チェーンで、送金先 ウォレットを管理していることを証明するメッセージに署名します)

同じ API ベース URL が両方に対応します — 環境は URL ではなく キーのプレフィックス で決まります。テストモードは 実際の テストネット(Sepolia、Base Sepolia、BSC Testnet など)に対して 動作します — モックチェーンはありません。テスト決済をトリガーする には、フォーセットから実際のテストネット資金を取得する必要があります。

InfraIO Pay ではないもの

  • カストディアンではありません。 資金はバイヤーからマーチャント ウォレットへオンチェーンで直接移動します。当方が残高を保持する ことはありません。
  • ウォレットプロバイダーではありません。 顧客は自分のウォレットを 持ち込みます。ホスト型チェックアウトには組み込みの WalletConnect オプションがありますが、ネイティブなカストディ機能はありません。
  • フィアットランプではありません。 バイヤーは保有している暗号資産で 支払います。当方は変換を行いません。
  • 現時点で Tron や Solana のゲートウェイではありません。 EVM ファーストです。最新の対応マトリクスは チェーン & アセット を参照してください。

次に