2010-07-27 13 views
1

J'ai l'intention d'utiliser eWay en tant que passerelle de paiement, mais je rencontre des problèmes après l'implémentation. Comme je ne souhaite à aucun moment toucher aux détails de la carte de crédit, ni stocker ni transférer via mon site en raison d'exigences PCI, je dois rediriger les utilisateurs vers la page hébergée par la passerelle. Les utilisateurs fournissent tous les détails là-bas et la passerelle renvoie la confirmation du résultat à la page que j'ai spécifiée, appelons-la payment_done.php.Accepter les paiements en utilisant Eway

Maintenant, dans payment_done.php je ne sais pas avec certitude si la confirmation est revenue de la passerelle de paiement elle-même ou quelqu'un juste POSTed à ma page et c'est un faux. Donc, ma page pourrait recevoir une confirmation, mais le paiement pourrait ne pas être fait du tout.

Maintenant, dans payment_done.php, je dois demander à eway si cette confirmation que j'ai reçue (avec un ID de transaction spécifique) vient d'eux et si le montant est correct, etc. Eway me rendra vrai/faux, puis Je peux être sûr que les paiements ont été faits pour le bon montant.

Maintenant, le problème est que eway semble permettre de demander cette confirmation seulement 100 fois par jour. Je ne suis plus à court d'idées et cherche désespérément de l'aide. Quelles options me reste-t-il? Il semble incroyable qu'il n'y ait aucun moyen de le faire fonctionner sans tomber dans les problèmes de conformité PCI, même en utilisant la page hébergée sur la passerelle de paiement. Merci d'avance pour votre aide.

Répondre

0

La réponse est double.

Vous vérifiez que le message provient d'un serveur eway si la demande provient de n'importe où, vous n'autorisez pas la demande. C'est votre forme principale de sécurité.

Dans le cas où quelqu'un à eway veut pirater votre site, mettre en œuvre ceci:

Avant d'envoyer l'utilisateur pour le paiement, créez un hachage de long. Vous pouvez utiliser une variable de session pour le conserver. Passez le hachage à l'aide du paramètre eWAYoption1.

Lorsque eway affiche une réponse, vérifiez la valeur eWAYoption1 pour vérifier qu'elle correspond au hachage de paiement des utilisateurs actuels.

Vous devez supprimer la variable de session dès que vous l'avez validée. Même si le hachage est incorrect, invalidez la variable de session et faites-la recommencer.

Entre le hachage et la vérification de l'adresse IP de publication, vous devriez être assez sûr.

+0

Quelle serait la meilleure façon de s'assurer que la réponse vient d'eWay alors? Vous ne savez pas s'il s'agit d'une passerelle spécifique et si chaque passerelle a une façon différente de s'identifier, ou si l'adresse IP est généralement vérifiée ou si une autre méthode courante est utilisée? btw thx pour une réponse si rapide! – spirytus

+0

Sur le site eway, il devrait y avoir une liste des adresses IP des serveurs de paiement. Vous devez probablement vous connecter pour les trouver. Lorsque vous recevez la confirmation de paiement, assurez-vous que l'adresse IP correspond à celle de la liste. Cette adresse IP ne peut pas être usurpée. En php, utilisez $ _SERVER ['REMOTE_ADDR']; Vous pouvez également effectuer une recherche inversée pour vérifier que l'adresse IP provient du domaine eway en tant que vérification supplémentaire. Si vous ne trouvez pas les adresses IP sur le site Web, appelez le support. –

+0

Ce serait une bonne idée, mais apparemment leurs adresses IP de serveurs de paiement pourraient être en train de changer donc ce n'est pas très fiable dans mon cas. – spirytus