Re: [w3c/payment-handler] registration paymentManager instruments .set 'instrument-key' handler payment (Issue #410)

my manifest is:
```
{
  "default_applications": ["https://testpr.fr/manifest.json"],
  "supported_origins": ["https://testpr.fr"]
}
```

My installer:

`function install(){
 hideElements();
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('sw.js').then((reg) => {
 return navigator.serviceWorker.ready;
})
})
.catch((error) => {
 console.log('error is' + error);
});
}
else {
    alert('service worker not available on this browser');
  }
}
`


My server Worker:

`self.addEventListener('canmakepayment', e => {
 console.log('canmakepayment', e);
  e.respondWith(new Promise(function(resolve, reject) {
    resolve(true);
  }));
});
async function waitForMessage() {
 return new Promise((resolve, reject) => {
   self.addEventListener('message', listener = e => {
  self.removeEventListener('message', listener);
  if (!e.data || !e.data.methodName ) {
   reject();
   return;
  }
    try {
      switch (e.data.type) {
        case 'WINDOW_IS_READY':
          resolve(e.data);
          break;
      }
    }catch (error) {
      resolver.reject();
      payment_request_event = null;
    }
  
 });
});
}
self.addEventListener('paymentrequest', evt => {
evt.respondWith((async() => {
 const windowClient = await evt.openWindow('check.html');
   windowClient.postMessage( {
......
    });
   const result = await waitForMessage();
   return result;
 })());
 
  });
// Define a convenient `postMessage()` method
const postMessage = (type, contents = {}) => {
  if (client) client.postMessage({ type, ...contents });
}

`

My show function:

```
  if(window.PaymentRequest) {
 
      const supportedInstruments = [{
       
         supportedMethods: "https://testpr.fr",
          data: {
           ...
          }
         }];
         
         const details = {
        ....
          ],
          total: {
           ...
          }
         };  
         const options = {requestPayerName: true, requestShipping: false};
         const request =new PaymentRequest(supportedInstruments, details, options);   
       
         try {
          const response = await request.show();
          console.log(response);  
          window.setTimeout(function() {
            response.complete('success')
            .then(function() {

             alert('payment accepted')
             console.log('succes')
            })
            .catch(function(err) {
              ChromeSamples.setStatus(err);
            });

        }, 2000);
        } catch (err) {
         
          console.error("Uh oh, something bad happened", err.message);
        }
     
} else {
// Fallback to traditional checkout
alert('PaymentRequest not supported');
}
```


I have error : https://testpr.fr is not supported

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3c/payment-handler/issues/410#issuecomment-1476380287
You are receiving this because you are subscribed to this thread.

Message ID: <w3c/payment-handler/issues/410/1476380287@github.com>

Received on Monday, 20 March 2023 14:54:27 UTC