メインコンテンツまでスキップ

用語集

ガイドに出てくる語をテーマ別にまとめています。ブロックチェーン側の詳しい話は技術的な詳細にあります。

決済の進み方​

  • 決済を作成する:金額と orderId を STBLpay に登録し、決済の受付票を作ってもらうこと。POST /payment_intents を呼ぶ操作で、返ってくる checkoutUrl に利用者を案内します。
  • 決済意図:作成した決済の受付票です。paymentIntentId で呼び分けます。例:orderId ord_0001 で作成すると、paymentIntentId が 1 つ決まります。
  • 成立:加盟店が商品を提供してよい状態です。状態が settled になったときだけを指します。例外として、nonce_conflict の調査で送金が行われていたと返答を受けた注文は、状態が nonce_conflict のままでも成立として扱います(送金の結果が確定できない)。
  • 終端:その決済がそれ以上先へ進まない状態です。settled・failed・canceled・expired・nonce_conflict が当たります。それぞれの意味は状態の値にあります。終端に着いた決済が別の状態へ変わることはありません。
  • 遷移:決済の状態が別の状態に変わること。例:created から signed に変わる。
  • 充当:着金を、どの決済の支払いとして扱うかを決めること。1 つの着金を、複数の決済に充てることがあります(まとめて振り込まれた場合など)。
  • 操作期限:利用者が署名して支払いを始めるまでの期限です。checkoutExpiresAt で確認できます。
  • 着金期限:振込を使う支払いで、着金を待つ期限です。操作期限とは別に決まります。

確認と照合​

  • 照会:加盟店サーバーが STBLpay に、決済の現在の状態を問い合わせること。決済状態を照会するで扱います。
  • 突合:加盟店の注文と STBLpay の決済の状態を照らし合わせ、食い違いを見つけること。例:Webhook を受け取れなかった注文を、定期的に照会して確かめる。
  • 冪等:同じ操作を何度繰り返しても、結果が 1 回分と同じになること。例:同じ orderId で決済を作り直しても、原則として決済は 2 つにならず同じものが返る(加盟店の利用停止などの例外は冪等性を参照)。同じ Webhook が 2 回届いても、商品を 2 回提供しない。
  • 責務:その作業を誰が担うかの割り当てです。例:パスキー署名は専用決済ページ、注文の確定は加盟店サーバー。Client と Server の責務を参照。
  • txHash:ブロックチェーン上の取引番号です。STBLpay への問い合わせに使います。

画面の遷移とドメイン​

  • origin:URL のうち、通信方式・ホスト名・ポートの組(例:https://shop.example.com、https://shop.example.com:8443)。このどれか 1 つでも違えば、別の origin として扱われます。ポートを省略した URL は既定のポート(https なら 443)として比べるので、https://shop.example.com と https://shop.example.com:443 は同じ origin です。
  • 専用決済ページ:STBLpay が提供する、利用者がパスキーで署名するページです。checkoutUrl で開きます。
  • トップレベル遷移:ブラウザの画面全体を別の URL へ移すこと。例:window.location.assign(checkoutUrl)。iframe・ポップアップ・モーダルに専用決済ページを埋め込むことは、トップレベル遷移ではありません。
  • returnUrl:決済後に利用者が戻るページの URL。登録したドメインの https:// のページを指定します。条件と例はドメイン登録にあります。
  • オープンリダイレクト:信頼されたサイトが、利用者を任意の URL へ移せてしまうこと。偽サイトへの誘導に悪用されます。STBLpay が returnUrl を登録ドメインに限るのは、これを防ぐためです。
  • userinfo:URL に含められるユーザー名とパスワード(https://user:pass@example.com/ の user:pass@ の部分)。returnUrl や Webhook の送信先には使えません。

通知​

  • at-least-once:通知を「少なくとも 1 回は配信を試みる」方式。再送には上限があり、必ず届くことは保証しません。同じ通知が 2 回以上届くことがあるため、受け手が重複を除きます。
  • raw body:Webhook を受け取ったとき、JSON として読み取る前の、受け取ったままの本文です。署名の検証はこの本文に対して行います。
  • 署名検証済みボディの id:署名の検証を通ったあとに読み取る、通知の ID です。重複した通知を見分けるキーに使います。

JPYC とお金の流れ​

  • JPYC:1 JPYC = 1 円の、日本円建てのステーブルコイン。STBLpay の決済に使います。
  • JPYC EX:JPYC の発行と償還を行う、発行体のプラットフォーム。利用者や加盟店が直接やりとりします。
  • 発行:JPYC EX が、払い込まれた円と同額の JPYC をウォレットに届けること。利用者は JPYC EX で発行を申し込み、銀行振込で円を払い込みます。
  • 償還:JPYC を JPYC EX に戻して、円にすること。
  • Polygon:JPYC が動くブロックチェーン。利用者のウォレットと加盟店の受取ウォレットがここにあります。
  • 受取ウォレット:加盟店ごとに 1 つある、決済の JPYC が届くウォレット。owner のパスキーにひも付いています。アドレスは Webhook の payout です。詳しくはお金の流れ。

ブロックチェーンの用語​

次の語は、ガイドの本文では平易に言い換えています。意味は技術的な詳細にあります。

  • 着金が取り消されない状態になるまで待つ
  • 支払い操作(利用者が署名する、支払いのための操作)
  • ウォレットの作成
  • 送金の結果が確定できない状態(nonce_conflict)