決済リンク — 概要
決済リンク(Payment Link) は、あなたが既に設定したホスト型
チェックアウトにバイヤーを誘導する、共有可能な URL です。SDK もサーバー
統合も不要 — ダッシュボードで発行して共有するだけで、資金がオンチェーンで
確定すると同じ payment.settled Webhook が発火します。
内部的には、決済リンクは CheckoutSession そのもの です — 「決済リンク」は、バイヤー主導の SDK フローによって 作成されなかったセッションを指す、ダッシュボード側の呼び名にすぎません。 Webhook の契約、オンチェーン決済、手数料はすべて同じです。
主な用途:
- コードを書かずに単発の顧客へ請求する
- 開発チームが今四半期はカスタムカートを実装する予定がない販売ページ
- B2B のフォローアップ — リンクをメールに貼り付けて完了させる
- 「コーヒーをおごる」のような固定額のチップページ
作成する
現時点ではダッシュボードのみで作成できます:
- マーチャントダッシュボード にサインインします
- Payments → Payment Links → + New link
- 2 つの経路のどちらかを選びます:
- New order — 行明細、通貨、顧客情報、任意のメタデータを入力します。 ダッシュボードが Order と決済リンクを 1 回の呼び出しで作成します。
- Existing order —
PENDINGの注文を選びます(例: バイヤーが 前回のリンクを放棄した場合)。同じ注文に紐づく新しいリンクを再発行 するので、注文履歴はそのまま維持されます。
- 保存 → ダッシュボードにコピーボタンと QR コードダウンロード付きの
https://checkout.infraio.xyz/cst_…URL が表示されます。テストモードの リンクはcheckout-dev.infraio.xyzを使うため、環境がホスト名に エンコードされます。
各決済リンクは現時点で 1 回限りです。バイヤーが支払うとセッションは
COMPLETED になります。決済前にセッションが期限切れになった場合
(デフォルト TTL は 30 分)は、注文詳細ページを開いて Re-create
link をクリックし、同じ注文に対して新しいリンクを発行してください。
バイヤーに表示されるもの
- バイヤーは
checkout.infraio.xyz/<session_key>に到着します — SDK から発行されたセッションと同じホスト型チェックアウト UI です。 - チェックアウト — 概要 で説明されている、 アセット選択 → 資金送金 → 確認待ちという標準フローを進みます。
payment.settledが Webhook に発火し、注文、インテント、レシート、 オンチェーン tx ハッシュ、確認回数が渡されます — 他の精算済み決済と 同じペイロードです。スキーマは Webhook を参照してください。
ダッシュボードが提供するもの
決済リンクの現在の画面には以下が含まれます:
- 一覧表示 — これまでに発行したすべてのリンクをカーソルページネーション で表示し、ステータス、金額、親注文番号、顧客、有効期限、バイヤー URL へのワンクリックオープンが確認できます。
- フィルタ — ステータス(
ACTIVE/COMPLETED/EXPIRED/CANCELED)、日付範囲、注文番号・顧客名・メール・外部参照を横断する 全文検索。 - CSV エクスポート — ワンクリックで、現在のフィルタを反映します。
- KPI ストリップ — ステータスごとの件数を、
X-Environmentヘッダー 経由で現在の環境(livevstest)に絞って表示するため、常にテーブルの 内容と数値が一致します。 - 詳細ページ — 注文サマリー、セッション履歴(この注文に対する すべての試行)、ブロックエクスプローラーへのリンク付きオンチェーン履歴、 決済前に期限切れになったセッション向けの Re-create link アクション。
現時点での制限事項
- プログラムによる API はありません — リンクはダッシュボードでのみ
作成できます。SDK は
POST /b2b/v1/checkout-sessions/quick(API リファレンス を参照)経由で同等の 1 回限り セッションを作成できますが、「長期間有効な共有可能 URL」という UX は 今のところダッシュボード限定です。 - バイヤー単位の認証はありません — URL を持つ人なら誰でも支払え ます。1 回限りのモデルがある程度これを緩和しますが、完全なバイヤー ID の紐付けは下記のロードマップにあります。
- ブランディングはグローバルです — リンクは Settings → Branding のマーチャント全体のロゴ、ブランドカラー、境界の丸みを 使用します。リンク単位のブランディング上書きはまだダッシュボード UI に公開されていません。
ロードマップ
対応したいと分かっている項目を、優先度の高い順に並べています:
- プログラムによる作成 — ダッシュボードの 2 タブダイアログを
ミラーし、同じ
checkout_urlを返すPOST /b2b/v1/payment-linksエンドポイント。一覧取得 + 失効と自然に組み合わせられます。 - 時間ベースの有効期限 — セッション TTL の経過だけでなく、特定の 日付までリンクを有効に保ちます。「14 日以内に支払い」が自然な 締め切りとなる請求フローに必要です。
- 再利用可能なリンク — Stripe 風の複数バイヤー向けページ(寄付、 チップ、定期タブ)。現時点ではすべてのリンクが 1 回限りです。
- バイヤー単位の ID — リンクを特定のメールアドレスやウォレットに ロックし、転送できないようにします。
- API 側の QR コード生成 — 現在ダッシュボードはクライアント側で QR コードを描画していますが、ラベル印刷や埋め込みレシート向けに API でこれを公開することも検討しています。
関連ページ
- コンセプト → セッション — バイヤーが決済中、 セッション層とインテント層で何が起きているか。
- チェックアウト → 概要 — バイヤーが実際に 目にするもの。
- Webhook → 概要 — あなたのサーバーが反応する
payment.settledイベント。