この記事は Web Payment Engineer、Danyao Wang による Chromium Blog の記事 "Rethinking Payment Request for iOS Chrome" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Payment Request API は、手間のかからない安全な支払いフローをウェブ デベロッパーが簡単に構築できるようにするウェブ標準です。ブラウザは、販売者のウェブサイトと「支払いハンドラ」との間のフローを容易にします。支払いハンドラは、ブラウザ、ユーザーのモバイル端末にインストールするネイティブ アプリ、プログレッシブ ウェブアプリのいずれにも組み込むことができます。現在、デベロッパーは Payment Request API を通して複数の支払い方法を利用できます。たとえば、すべてのプラットフォームの Chrome で利用できる “basic-card”、Android 版 Chrome の Google Pay、Safari の Apple Pay などです。この新しい標準で利用できる支払いハンドラを増やすため、Chrome チームは他のブラウザ ベンダーやデジタル ウォレット デベロッパーとの連携を続けています。


2 年以上にわたって Payment Request API を提供してきたおかげで、私たちはウェブでの支払いフロー構築に関する課題をより深く理解できました。ユーザーに支払いアプリを信頼してもらうには UX が重要だとわかりました。また、トークン化などの新しい技術によってユーザーのクレジット カード番号をウェブサイトに知らせる必要がなくなり、オンライン詐欺からユーザーを守る方法が大きく進展しています。しかし残念ながら、Chrome に組み込まれている “basic-card” 支払いハンドラは、この両方の点において不十分です。そのソリューションを検討する中で、ウェブでシームレスかつ安全に支払いを行う最善の方法は、高い互換性を備え、デジタル ウォレットによってウェブで最高の体験を実現できるエコシステムを作り上げることだと気づきました。これは、Payment Handler API にフォーカスを移すことを意味しています。新しい W3C 標準である Payment Handler API を使うと、サードパーティ製支払いハンドラ、つまりネイティブ モバイルアプリまたはプログレッシブ ウェブアプリが、ブラウザと連携して支払いリクエストを処理できます。これにより、ユーザーはウェブのどこにいても、任意のウォレットを使って 1 クリックで支払いを完了できるようになります。


このフォーカスの変化が意味するのは、将来的に Chrome に組み込まれている “basic-card” 支払いハンドラのサポートが終了するということです。“basic-card” 機能の利用率が最も低い iOS 版の Chrome から、この機能のサポートを削除する作業を始める予定です。この変更は M81 で反映されます。その代わり、iOS のネイティブ アプリと Chrome の Payment Request API を連携させる方法について調査しています。“basic-card” 支払い方法が W3C 標準である点は変わりません。デベロッパーは、ブラウザに支払いハンドラを登録する際に、method を “basic-card” に設定することで、Payment Handler API を使って対応する支払いハンドラを構築できます。


この M81 での変更により、iOS 版 Chrome の Payment Request API は無効になります。iOS 版 Chrome でサポートされている支払い方法は “basic-card” のみであり、WKWebView は Payment Handler API をサポートしていないので支払いハンドラが利用できないからです。Payment Request API を利用しているデベロッパーの方は、iOS ユーザーが代替機能を利用できるように、feature detection を使って適切な機能を提供してください。この対応は、まだ Payment Request API をサポートしていないブラウザでウェブサイトを期待どおりに動作させるためにも必要です。


支払いアプリを開発しているデベロッパーの方は、Android でネイティブ支払いハンドラとして連携させる方法Payment Handler API を通してウェブベースの支払いハンドラとして連携させる方法に記載されているチュートリアルをご覧ください。


Chrome のウェブ支払いの実装についてフィードバックがある方は、paymentrequest@chromium.org からご連絡ください。ウェブ支払い API の仕様に関するフィードバックがある方は、W3C Web Payments Working Group までご連絡ください。


Reviewed by Eiji Kitamura - Developer Relations Team