0

I created a service worker for a payment manager. When I checked the server is installed but I do not see the payment methods installed on the browser. i added the event install fetch and load but i can't show the payment methods register in browser.. Any help please My installer is

navigator.serviceWorker.register('sw.js').then(() => {
   return navigator.serviceWorker.ready;
}).then((registration) => {
   if (!registration.paymentManager) {
       console.log('No payment handler capability in this browser. Is chrome://flags/#service-worker-payment-apps enabled?');
       return;
   }
   if (!registration.paymentManager.instruments) {
       return;
   }
   registration.paymentManager.instruments
       .set('instrument-key', {
           name: 'Chrome uses name and icon from the web app manifest',
           enabledMethods: ['https://...'],
           method: 'https://...',
       })
       .then(() => {
           registration.paymentManager.instruments.get('instrument-key').then((instrument) => {
               
           }).catch(...
       })
       

My server worker

let payment_request_event;
let resolver;
let client;
const addResourcesToCache = async (resources) => {
    const cache = await caches.open("v1");
    await cache.addAll(resources);
  };

  self.addEventListener('install', event => {
    event.waitUntil(
        addResourcesToCache([
          "/",
          "/index.html",
         
        ])
      );
    console.log(`SW: Event fired: ${event.type}`);
    console.dir(event);
  });
  
  self.addEventListener('activate', event => {
    console.dir(event);
  });
  
  self.addEventListener('fetch', event => {
    event.respondWith(fetch(event.request));
  });
self.addEventListener('canmakepayment', e => {
    console.log('canmakepayment', e);
    e.respondWith(true);
});

self.addEventListener('paymentrequest', async e => {
    console.log(e)
    payment_request_event = e;
    
      e.respondWith(resolver.promise);
      
      // Open the checkout page.
      try {
        // Open the window and preserve the client
        
        client = await e.openWindow('https://...html');
    ...

mimia
  • 21
  • 4

0 Answers0