esup-pay

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Plus de contrôle des IPs poybox, cf nouvelles recommandations données dans le manuel paybox

...

archive.oldDays.emailFieldsMapReference=15 quant à lui permet simplement de purger la table email_fields_map_reference qui est une table temporaire utilisée lors du paiement et dont les informations doivent normalement être utilisées et requises sur un interval de temps court (entre moment où l'utilisateur quitte l'application esup-pay  pour aller sur le formulaire de paiement et le moment où paybox envoie l'information que le paiement s'est effectivement bien déroulé).

Le paiement sur Paybox a été effectué mais la transaction n'apparait pas dans la liste des Transactions sur l'interface.

Lorsque le paiement est effectué sur Paybox, Paybox tente d'appeler esup-pay sur son url de callback. C'est grâce à cet appel qu'esup-pay enregistre la transaction effectuée et envoie également éventuellement un mail à un gestionnaire.

Ainsi sur votre serveur web, dans ses logs d'accès, vous devez trouver des appels des serveurs paybox qui font des GET sur une url en /payboxcallback

Cette requête est prise en compte par esup-pay, mais dans un tout premier temps, une vérification (par spring-security) sur les IP est réalisée : en effet, l'idée est de n'autoriser que les serveurs paybox à appeler cette url de callback /payboxcallback
Ainsi le fichier security.properties liste l'ensemble des serveurs paybox.
Si un client appelle le /payboxcallback sans faire partie de ce listing d'IP, alors l'application renvoie un 403 (Forbidden) en réponse HTTP au lieu d'un 200 - on peut retrouver ces codes dans les fichiers logs d'accès à votre serveur web.

Si un serveur paybox de production appelle cette url et que esup-pay ne retourne pas un code HTTP 200, paybox enverra un mail de warning au mail de contact paybox de l'établissement.

Un problème courant lors de la mise en oeuvre de esup-pay est que l'application n'a pas connaissance de l'IP des clients véritablement et donc des serveurs paybox, mais de l'IP d'un éventuel reverse proxy qui se situe entre les clients et esup-pay.

Cela peut être le cas si vous mettez par exemple un Apache devant un Tomcat, le Apache jouant alors le rôle de Proxy. Si vous utilisez AJP pour le ProxyPass entre Apache et Tomcat, l'IP du client est cependant préservée et présentée à Tomcat et donc à l'application esup-pay (et non pas l'IP du proxy, cad de Apache).

Installation d'esup-pay derrière un proxy

Cf la question ci-avant, dans sa configuration par défaut esup-pay se charge de vérifier que le client qui appelle l'url de callback d'esup-pay dédiée à paybox a bien une IP qui correspond au listing des IPs publiques de paybox (liste d'IPs fournie officiellement dans la document Paybox : http://www1.paybox.com/espace-integrateur-documentation/la-solution-paybox-system/urls-dappels-et-adresses-ip/ ).

Le mieux est donc de faire en sorte qu'esup-pay puisse avoir connaissance de l'IP du client.

Mais si par le biais d'un mécanisme type reverse proxy vous ne pouvez pas procéder à une telle configuration, alors vous pouvez modifier simplement le fichier security.propeties pour y mettre l'IP de votre proxy ... ou encore pour mettre simplement : 

Bloc de code
languagetext
themeRDark
payboxIpRestriction=permitAll

Celà fait, vous pouvez faire cette vérification d'IPs en amont  d'esup-pay si vous le souhaitez, dans la configuration de votre proxy donc par exemple.

Sachez également que cette vérification par IP n'est pas la seule vérification faite par esup-pay : comme préconisé dans la documentation paybox, esup-pay vérifie également la signature de paybox fournie dans l'appel callback de paybox : ainsi rien que par la signature, esup-pay peut s'assurer que l'appel provient bien de paybox ; sécuriser aussi par le biais du contrôle IP (et donc par un 2 ème facteur, en plus de la vérification de la signature) renforce cette sécurité.

Quels sont les pré-requis à l'installation d'Esup-Pay ?

...