開発者
わずか数行で統合
公開キーはブラウザでチェックアウトを開きます。シークレットキーはサーバー内にとどまります。支払いが確認された瞬間に、Webhookがサーバーへ知らせます。
# Create order + session in one call curl -X POST https://api.infraio.xyz/v1/quick-checkout \ -H "Authorization: Bearer sk_live_…" \ -H "Idempotency-Key: order_8412" \ -d '{ "amount": "1000.00", "currency": "USD", "success_url": "https://shop.example/thanks" }' # → 201 Created { "checkout_url": "https://pay.infraio.xyz/c/s_9f2…", "expires_in": 900 }
ノーコードで始めて、準備ができたらAPIファーストへ。
任意のWebアプリにSDKを組み込む
インポート1つ、呼び出し1回。ホスト型チェックアウトをポップアップ、リダイレクト、埋め込みで開けます。顧客向けの返金フォームも同じ方法で開けます。
import { loadInfraIo } from "@lartech/infraio-checkout-js"; // Open hosted checkout from a session async function payNow(sessionKey, checkoutUrl) { const sdk = await loadInfraIo("pk_live_yourkeyhere"); sdk.checkout({ sessionId: sessionKey, checkoutUrl, mode: "popup", // "popup" | "redirect" | "embed" onSuccess: ({ sessionId }) => fulfill(sessionId), onCancel: () => showRetry(), }); }
あらゆる状態のWebhook
エンドポイントのシークレットで署名され、サーバーが停止していても自動で再送され、ダッシュボードから再送信もできます。
| イベント | 発火するタイミング |
|---|---|
payment.pending | 買い手が支払いを送信し、確認待ちの状態です |
payment.confirmed | 支払いがそのネットワークで必要な確認数に達しました |
payment.settled | 資金がトレジャリーウォレットへ自動送金されました。 |
session.expired | 支払いのないままチェックアウトの期限が切れました。請求は発生しません |
運用チームとして暗号資産決済を回す
ウォレットだけでなく、日々の支払い運用のためのダッシュボード。よく使う4つの画面です。
注文&セッションすべてのチェックアウトは注文と支払いに紐づき、IDは自社の注文システムと一致します。
トランザクション確認数、ネットワーク手数料、そして支払いごとの「支払い済み / 待機中 / 不足」ステータスがひと目でわかります。
返金全額または一部を買い手のウォレットへ直接返金できます。買い手に1回限りのリンクを送り、受取アドレスを入力してもらう方法もあります。返金はすべて記録され、エクスポートできます。
Webhookテストイベントの送信、署名シークレットの無停止ローテーション、イベントの再送信をご自身で行えます。配信に失敗した場合は自動で再試行されます。
決済インフラとして作られています
署名付きAPIリクエストサーバーからのリクエストはすべて署名とタイムスタンプ付きなので、偽造も、古いリクエストの再送もできません。
改ざんできないチェックアウトリンクチェックアウトリンクは1つの注文にひもづきます。変更すると無効になり、期限が切れると再利用できません。
二重請求なしネットワークエラーでサーバーが再試行しても、買い手への請求は1回だけです。
お金が私たちの手元に残ることはありません買い手は注文専用のアドレス、またはあなたのウォレットに直接支払います。いずれの場合もお金はあなたに届き、InfraIO Payが共有口座で買い手の資金を預かることはありません。