Mangopay / cardregistration-js-kit

Mangopay V2 JS resources for card registration front-end workflow
MIT License
38 stars 34 forks source link

Header Access-Control-Allow-Headers absent sur endpoint homologation #46

Closed scorring closed 4 years ago

scorring commented 6 years ago

J'essaie de suivre la procédure d'ajout de carte de crédit décrite par votre documentation, en travaillant sur l'environnement Sandbox pour le moment. Mon serveur récupère bien les données PreregistrationData, AccessKey et CardRegistrationURL depuis l'url /cardregistrations. Il envoit ensuite ces infos à mon appli web cliente qui doit elle émettre un POST sur l'url CardRegistrationURL reçue précédemment (https://homologation-webpayment.payline.com/webpayment/getToken dans mon cas) avec les données de la carte. Cependant, le navigateur émet automatiquement une requête preflight (OPTIONS) avant la requête POST. Cette requête contient le header Content-Type ajouté automatiquement par le framework js que j'utilise (angular). Je reçois bien un 200 sur la requête preflight mais le navigateur n'envoit jamais le POST à cause de l'erreur suivante: Failed to load https://homologation-webpayment.payline.com/ webpayment/getToken: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.

Contrairement aux recommandations w3c, le endpoint d'homologation semble ne pas fournir le header Access-Control-Allow-Headers avec une valeur * ou une liste plus restrictive. Ce problème est bloquant pour les clients utilisant une application web exécutée au sein d'un navigateur.

Cette issue est vraisemblablement un dupe de https://github.com/Mangopay/cardregistration-js-kit/issues/39. Cependant, cette dernière est restée sans réponse depuis 10 mois.

EmirAzaiez commented 6 years ago

Tu devrais essayer de passer par nginx ou apache, j'avais le même problème en bossant directement depuis le fichier en question. Depuis que je passe par un host tout va mieux :)

achoisy commented 5 years ago

Bonjour @scorring

J'ai le meme Pb de Failed to load https://homologation-webpayment.payline.com/ webpayment/getToken: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response. Y a t'il une solution autre que de passer par nginx ou apache car il me semble que c est contraire aux directives qui indique clairement de ne pas faire transiter les données de CB sur nos serveur ?

EmirAzaiez commented 5 years ago

Bonjour @scorring

J'ai le meme Pb de Failed to load https://homologation-webpayment.payline.com/ webpayment/getToken: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response. Y a t'il une solution autre que de passer par nginx ou apache car il me semble que c est contraire aux directives qui indique clairement de ne pas faire transiter les données de CB sur nos serveur ?

Alors tu ne passes pas vraiment via nginx ou apache. ici ce sont des données de test, https://homologation-webpayment.payline.com/ voit que la requête est effectué depuis une URL de style "file://" il ne traitera pas la requête mais si tu utilises un nom de domaine ou localhost il acceptera la demande :). Si tu passes pas nginx ce n'est pas le serveur qui va faire transité les données bancaires mais ton navigateur

mangomaxoasis commented 4 years ago

Bonjour @scorring Dites nous si le probleme persiste Cdlt, max

cedvdb commented 1 year ago

Il persiste