Gérer les délais d'attente (Timeout)

Le traitement d’une requête web service s’articule autour d’un enchaînement d’évènements asynchrones comme :

  • l'envoi de la requête via le réseau du site marchand,
  • le transport des informations sur le réseau internet,
  • le traitement du paiement par la plateforme,
  • l’interrogation des serveurs bancaires, etc

Un incident peut survenir à chaque étape et augmenter le temps du traitement (et donc implicitement le temps d’attente pour l’acheteur).

La réponse à une requête peut être retardée pour de multiples raisons :

  • Un temps de réponse long de la part de l’émetteur du porteur de la carte (cas des cartes étrangères, cas de période de forte charge comme les soldes, ...).
  • Un temps de réponse long de la part de l’acquéreur lors de la transmission et de la réception de la demande d’autorisation.
  • Un temps de réponse long du côté de votre application suite à une charge importante.
  • Un temps de réponse long de la plateforme de paiement.
  • Un problème de peering sur Internet pouvant entraîner des pertes de messages, etc…

Selon les délais d'attente paramétrés, vous pouvez ne pas recevoir de réponse alors que le traitement asynchrone continue à s’exécuter côté plateforme de paiement.

Un temps de traitement long ne doit pas être considéré comme un paiement refusé.

Pour cette raison, vous devez configurer votre code pour gérer les problèmes potentiels pouvant survenir avec la connexion à l'API SOAP.

Conseils

Le temps moyen de traitement d'une demande de paiement par la plateforme est inférieur à 5 secondes.

Vous devez définir un délai d'attente de 20 à 30 secondes côté acheteur.

Pendant ce temps, vous pouvez :

  • Informer l'acheteur que son paiement est en cours de traitement. Pendant ce temps là, vous pouvez consulter le statut de la transaction sur la plateforme de paiement et revenir vers lui une fois le résultat final affiché.
  • Informer l'acheteur que son paiement est refusé en vous assurant au préalable que vous ne devez pas valider manuellement le paiement sur la plateforme de paiement.