web-dev-qa-db-fra.com

Déterminer si un visiteur a quitté votre serveur

Nous avons un serveur Apache exécutant un site Web PHP. Le site est un magasin de commerce électronique.

Nous utilisons actuellement Barclays en tant que fournisseur de paiement, mais de nombreux clients décrochent au moment où nous les transférons vers la passerelle de paiement (hébergée avec Barclays).

Je peux voir des cas spécifiques dans la boutique où des commandes ont été créées mais non payées/échouées, mais je dois vérifier si l'utilisateur a définitivement quitté notre serveur (ou n'a tout simplement pas réussi à atteindre Barclays).

Y a-t-il quelque chose dans l'un des journaux de serveur/d'accès qui indique quand un utilisateur est transféré dans un domaine différent?

Mise à jour Lorsque l'utilisateur clique sur "Payer maintenant", il est envoyé à une page de transfert de passerelle qui crée une forme masquée des détails du panier et envoie le formulaire (à l'aide de JS) à Barclays. Comment puis-je vérifier que la passerelle existe avant de les envoyer?

4
Jeepstone

En guise de vérification à court terme, vous pouvez envoyer une liste des commandes en infraction à Barclays et leur demander de répondre avec un statut pour chacune d'elles. Ils auront une trace de toutes les transactions qui les ont fait, et devraient même être en mesure de vous dire jusqu'où le processus a été fait avant de déposer.

Il est évident que toutes les commandes qui ne font pas l'objet d'une transaction correspondante dans le système Barclays sont celles sur lesquelles il faut se concentrer. Peut-être pouvez-vous rechercher un modèle commun parmi ceux-ci, comme la version du navigateur/du système d'exploitation ou le fournisseur de services Internet.

En fonction de la méthode d'intégration utilisée, il existe probablement une API avec la passerelle de paiement qui vous permettra d'interroger les transactions à la volée. Ceci est également très utile pour exécuter régulièrement (comme une tâche quotidienne parfois) pour identifier toutes les commandes qui ont peut-être même abouti, mais l’autorisation/la réponse ne l’a jamais fait retour à votre serveur une fois terminé.

1
Andrew Lott

Étant donné que votre formulaire utilise JS, vous pouvez exécuter plusieurs fonctions à partir de l'action onClick. Vous pouvez d’abord appeler un script sur votre serveur qui exécutera divers tests sur la passerelle de paiement à distance, puis si le résultat est positif, renvoyer le code pour rediriger l’utilisateur vers la passerelle. Si le test échoue, vous pouvez alors envoyer un message d'erreur.

Cela vous donnerait un aperçu, mais pour être certain à 100%, vous devrez contacter votre processeur pour obtenir les détails du journal, comme recommandé par @Andrew Lott.

0
jeffatrackaid