8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je viens de terminer la création d'un site e-commerce. Je précise que l'intégralité du site, dont le moteur, est entièrement sur mesure.

Au moment du paiement sécurisé (Module ATOS call_request), la chronologie des événements est celle-ci :

1) Vérification de la transaction par le réseau bancaire
2) Si Ok, enregistrement du règlement en attente d'encaissement
3) Enregistrement des différentes variables dans ma BDD (via call_autoresponse.php) et envoi du mail au client et à l'administrateur

Aujourd'hui, tout fonctionne à merveille.

La problématique est la suivante : si juste après l'acceptation du paiement (entre l'étape 2 et l'étape 3), la connexion est coupée (du fait du serveur ou de l'internaute), l'enregistrement des variables est incorrecte, voire ne se fait pas, et les mails ne sont pas envoyés. Le paiement sera quand même débité, car accepté.

Comment faire alors pour s'assurer que le script s'exécute entièrement, même si la connexion est coupée ; y-a-t-il une parade en PHP ?

Si un programmeur très averti à une solution... je suis preneur !
Merci d'avance Smiley smile
Hello

je ne connais pas le module ATOS mais de manière générale les modules paiement propose de définir une variable url de retour automatique.
Cette url est appelé (suivant les modules) dès qu'un paiement est accepté ou refusé et ce même s'il n'y a plus de connexion entre le client et le module.
En général on peut définir cette url dynamiquement lors de la requète paiement ou bien on doit fournir au prestataire du paiement l'url par mail.

... en relisant ton post je vois que tu appelles un script call_autoresponse.php
J'en déduis que tu es donc au courant de cette url de reour automatique. Et du coup je ne comprends pas trop le problême.
Le script call_autoresponse.php doit etre appelé directement depuis le serveur de paiment sur ton serveur boutique, la connexion du client n'intervient pas dans cet appel.

Peux tu préciser le problême ?