用語集
ガイドに出てくる語をテーマ別にまとめています。ブロックチェーン側の詳しい話は技術的な詳細にあります。
決済の進み方
- 決済を作成する:金額と
orderIdを STBLpay に登録し、決済の受付票を作ってもらうこと。POST /payment_intentsを呼ぶ操作で、返ってくるcheckoutUrlに利用者を案内します。 - 決済意図:作成した決済の受付票です。
paymentIntentIdで呼び分けます。例:orderIdord_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)