Je construis un processus de paiement simple en utilisant une passerelle de paiement externe.
1) L'utilisateur choisit un produit, clique Acheter,
2) Le serveur fait une demande POST pour charger la page de paiement du site tiers.Post-form avec les données "secrètes" du serveur et ouvrir le résultat dans le navigateur de l'utilisateur
La passerelle de paiement n'a aucune idée de ce que sont les "produits" et attend une demande avec une valeur de prix réelle. Cela me frotte dans le mauvais sens, car cela signifierait que quelqu'un capable de voir la source verra les champs et les valeurs de la requête. Certains seraient tentés de bousiller les valeurs et le système de commande. Non pas que ce soit un gros problème, la confirmation de commande sera quand même authentifiée avec un jeton, mais cela n'empêchera pas les smart guys de gâcher les valeurs et de faire un paiement.
Est-il possible de demander la page de passerelle en affichant les données du serveur et d'ouvrir le résultat dans le navigateur de l'utilisateur? Si elles doivent passer par les navigateurs de l'utilisateur, quelle serait une façon plus obscure de le faire? Jouer avec les en-têtes HTTP dans la réponse? Poster avec un appel AJAX?
Merci. PS: Il ne s'agit pas de créer un message de serveur tacite (c'est-à-dire avec curl), la page résultante doit s'ouvrir dans le navigateur de l'utilisateur.
PPS: Eh bien, après avoir joué un peu plus avec l'API de passerelle de paiement (Payline.com pour être précis) j'ai découvert qu'ils fournissent un mécanisme pour cela, où le poste est fait par le serveur, un le jeton est retourné et l'utilisateur va à la page avec tout rempli. Le navigateur n'envoie pas les données, ce qui est exactement ce que je voulais. C'est la solution à mon problème mais pas la réponse à cette question. Je ne publierai pas cela comme une réponse et je pense toujours que ce serait bien d'avoir une réponse.
Pouvez-vous nous dire qui est le fournisseur de passerelle de paiement? –
C'est Payline.com mais je ne pense pas que ce soit spécifique à eux. –