ServiceWorkerGlobalScope: canmakepayment イベント
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ja/web/api/payment_handler_api/index.md)
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はサービスワーカー内でのみ利用可能です。
canmakepayment
は ServiceWorkerGlobalScope
インターフェイスのイベントで、決済アプリのサービスワーカーで発生し、決済処理の準備ができているかどうかを確認します。具体的には、販売者ウェブサイトが PaymentRequest()
コンストラクターを呼び出すと発生します。
構文
このイベント名を addEventListener()
などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
addEventListener("canmakepayment", (event) => {});
oncanmakepayment = (event) => {};
イベント型
CanMakePaymentEvent
です。ExtendableEvent
から継承しています。
例
canmakepayment
イベントは、決済アプリのサービスワーカーで発行され、決済処理の準備ができているかどうかを調べます。具体的には、販売者のウェブサイトが PaymentRequest()
コンストラクターを呼び出すと発行されます。サービスワーカーは、次のように CanMakePaymentEvent.respondWith()
メソッドを使用して適切に応答することができます。
self.addEventListener("canmakepayment", (e) => {
e.respondWith(
new Promise((resolve, reject) => {
someAppSpecificLogic()
.then((result) => {
resolve(result);
})
.catch((error) => {
reject(error);
});
}),
);
});
respondWith()
は、サービスワーカーが決済リクエストを処理できる状態にある (true
) またはそうでない (false
) ことを示す論理値で解決するプロミス (Promise
) を返します。
仕様書
Specification |
---|
Payment Handler API # the-canmakepaymentevent |
ブラウザーの互換性
BCD tables only load in the browser