ServiceWorkerGlobalScope: canmakepayment イベント
        
        
          Limited availability
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is not Baseline because it does not work in some of the most widely-used browsers.
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> | 
ブラウザーの互換性
Loading…