【注意】 このドキュメントは、W3CのPayment Method Identifiers W3C Recommendation 08 September 2022の和訳です。
このドキュメントの正式版はW3Cのサイト上にある英語版であり、このドキュメントには翻訳に起因する誤りがありえます。誤訳、誤植などのご指摘は、訳者までお願い致します。
First Update: 2023年2月19日
翻訳版も参照してください。
Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and permissive document license rules apply.
この仕様は、決済方式の識別子と、その妥当性の検証方法、および該当する場合は、作成方法、W3Cでの正式な登録方法について定義しています。他の仕様(決済リクエストAPIなど)は、この識別子を利用して、ウェブのプラットフォーム上での金銭取引を促進します。
この項は、このドキュメントの公開時のステータスについて記述しています。現行のW3Cの刊行物およびこの技術報告の最新の改訂版のリストは、https://www.w3.org/TR/のW3C技術報告インデックスにあります。
ワーキンググループは、実装報告書を作成することにより、実装経験を実証します。この報告書は、テストスイートの各必須テスト(すなわち、各テストは仕様の要件に対応していなければならない(MUST))に合格した2つ以上の独立した実装を示します。
この仕様の開発中には、他のワーキンググループとの依存関係に変更はありませんでした。
このドキュメントは、ウェブ決済ワーキンググループ(Web Payments Working Group)が勧告トラックを用いて勧告として公開しました。
W3Cは、この仕様をウェブの標準として広く展開することを推奨します。
W3C勧告は、広範な合意形成の後、W3Cとそのメンバーの協賛を得て、ワーキンググループのメンバーから実装のためのロイヤルティ・フリーのライセンスを約束された仕様です。この勧告の将来の更新では、新しい機能を組み込む可能性があります。
このドキュメントは、2017年8月1日のW3C特許方針の下で活動しているグループによって作成されました。W3Cは、このグループの成果物に関連するあらゆる特許の開示の公開リストを維持し、このページには特許の開示に関する指示も含まれています。不可欠な請求権(Essential Claim(s))を含んでいると思われる特許に関して実際に知っている人は、W3C特許方針の6項に従って情報を開示しなければなりません。
このドキュメントは、2021年11月2日のW3Cプロセス・ドキュメントによって管理されています。
決済方式識別子(payment method identifier: PMI)は、次のいずれかです。
決済方式識別子に依存する仕様は、無効な決済方式識別子を処理するための独自のルールを指定しなければならなりません(MUST)。
文字列pmiで決済方式識別子の妥当性検証を行う手順を次のアルゴリズムで示します。これは、pmiが有効である場合に真(true)を返します。
URLベースの決済方式識別子は、URLベースの決済方式識別子の妥当性検証を行うための手順にしたがった有効なURLです。
サードパーティの決済ハンドラにURLベースの決済方式識別子を用いたい開発者は、決済方式ベスト・プラクティス・ドキュメントを読むことをお勧めします。
URLベースの決済方式識別子の妥当性検証を行う手順を次のアルゴリズムで示します。このアルゴリズムは、URLであるurlを入力とし、URLが有効である場合に真(true)を返します。
const valid = [
{
supportedMethods: "https://example.com/pay",
},
{
supportedMethods: "https://example.com/pay?version=1",
},
{
supportedMethods: "https://example.com/pay/version/1",
},
];
const invalid = [
{
// ❌ Uses http://, a username, and a password.
supportedMethods: "http://username:[email protected]/pay",
},
{
// ❌ Uses unknown URI scheme.
supportedMethods: "unknown://example.com/pay",
},
];
ユーザ・エージェントは、[URL]の等値を用いてURLベースの決済方式識別子の比較を実行しなければなりません(MUST)。
ユーザ・エージェントがURLベースの決済方式識別子をフェッチすることは、オプションです(OPTIONAL)。
標準的な決済方式識別子は、標準的な決済方式を表す文字列です。
標準的な決済方式識別子の構文を次の[ABNF]で示します。
stdpmi = part *( "-" part )
part = 1loweralpha *( DIGIT / loweralpha )
loweralpha = %x61-7A
ユーザ・ージェントは、4. 標準的な決済方式の登録の項で挙げている0以上の標準的な決済方式識別子をサポートすることができます(MAY)。
標準的な決済方式識別子の妥当性検証を行う手順を次のアルゴリズムで示します。このアルゴリズムは、文字列を入力とし、識別子が有効である場合に真(true)を返します。
標準的な決済方式識別子の場合、ユーザ・エージェントは、同一(is)を用いて文字列の比較を実行しなければなりません(MUST)。
この項は非規範的です。
標準的な決済方式とは、W3Cで標準化が行われ、このレジストリに登録されている決済方式です。
現時点では、標準的な決済方式識別子はありません。
この項は非規範的です。
サードパーティの決済ハンドラにURLベースの決済方式識別子を用いたい開発者は、決済方式マニフェスト仕様と決済方式ベスト・プラクティスwikiのページを読むことをお勧めします。これらのドキュメントは併せて、ブラウザによるジャスト・イン・タイムの決済ハンドラのインストールを含め、決済方式の承認済み決済ハンドラのエコシステムを管理する方法について説明しています。
この仕様では、セキュリティに関する新たな留意点は導入しません。
現時点では、プライバシーやセキュリティに関して留意すべき点はありません。
非規範的と記している項と同じく、この仕様のすべての作成ガイドライン、図、例、注は、非規範的です。この仕様のその他の部分はすべて規範的です。
このドキュメントの「することができる/してもよい(MAY)」、「しなければならない(MUST)」、「選択できる/任意である(OPTIONAL)」というキーワードは、ここで示しているように、すべて大文字で表示されている場合にのみ、BCP 14[RFC2119] [RFC8174]で記述されているように解釈されるべきです。
string
用)url
用)url
用)url
用)url
用)