L'API Payment Handler richiederà CSP connect-src

L'API Payment Handler consente ai fornitori di servizi di pagamento di rendere disponibile la propria esperienza di pagamento personalizzata per i commercianti, insieme all'API Payment Request.

Le informazioni riportate in questa pagina si applicano solo ai siti web che utilizzano sia i criteri CSP (Content-Security-Policy) sia l'API Payment Request. Se non utilizzi nessuno dei due o solo uno dei due, puoi saltare queste istruzioni.

Per verificare se il tuo fornitore di servizi di pagamento utilizza l'API Payment Handler, contattalo e segui le sue istruzioni.

Se utilizzi l'API Payment Handler e i CSP (Criteri di sicurezza del contenuto) per una protezione migliore, devi assicurarti che i domini delle richieste HTTP inviate dal browser vengano aggiunti all'istruzione connect-src dell'intestazione CSP.

Ad esempio, se il codice JavaScript richiama new PaymentRequest([{supportedOrigins: ‘https://example.com/pay’}], details), il tuo CSP connect-src deve includere https://example.com o https://example.com/pay:

Content-Security-Policy: connect-src https://example.com/pay

Se https://example.com/pay è un reindirizzamento tra origini, anche l'origine destinazione deve essere inclusa nel CSP. Ad esempio, sehttps://example.com/pay reindirizza a https://pay.example.com, entrambe le origini devono essere incluse nel CSP:

Content-Security-Policy: connect-src https://example.com/pay https://pay.example.com

Provalo localmente

Per attivare la funzionalità localmente prima della spedizione:

  1. Vai a chrome://flags/#web-payment-api-cspsu Chrome.
  2. Modifica "Criterio CSP per l'API Web Payment" da "Predefinito" ad "Attivato".
  3. Riavvia Chrome.

Controlla gli URL delle richieste

Per controllare gli URL delle richieste inviate dall'API Payment Handler:

  1. Attiva chrome://flags/#web-payment-api-csp.
  2. Vai alla pagina di pagamento e apri gli Strumenti per sviluppatori di Chrome.
  3. Cerca messaggi di errore come il seguente: text RangeError: Failed to construct 'PaymentRequest': https://example.com/pay payment method identifier violates Content Security Policy.
  4. Aggiungi l'identificatore del metodo specificato al tuo CSP.

Foto di Eduardo Soares su Unsplash