Project

General

Profile

Actions

Développement #115824

open

baskets: ne pas expirer un panier si une transaction est toujours en cours

Added by Benjamin Dauvergne about 2 months ago. Updated about 1 month ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
25 March 2026
Due date:
% Done:

0%

Estimated time:
(Total: 0:00 h)
Patch proposed:
No
Planning:
No

Description

Coté backend payfip_ws on a étendu la durée d'attente jusqu'à 2h mais on devrait vraisemblablement au final ne pas en mettre du tout puisqu'ils peuvent mettre plus de 12h à nous notifier. Si un identifiant de transaction reste en statut P5, et bien on attend (P5 c'est statut inconnu, P1 c'est identifiant de transaction inconnu, voir [1]).

Coté systempay et autre du même acabit sans possibilité de polling, il faut prévoir une expiration de base des transactions, il y a Payment.get_min_time_between_transactions() pour cela mais il faudra désormais mettre par défaut à 20 minutes dans eopayment pour tout le monde je pense.

Les doubles paiements ne posent pas trop de souci sur lingo dans la mesure où ils sont de toute façon enregistrés (ça fera du crédit, à rembourser ou à réutiliser).

Le but de ne pas expirer c'est de ne pas recevoir de notification d'abandon/expiration sur la démarche liée au panier, sachant qu'un paiement peut toujours arriver. Pour un paiement unitaire un paiement multiple ne semble pas possible pour l'instant vu qu'on ne peut démarrer le paiement du panier qu'une fois (ensuite le panier est en statut 'tobepaid' posé par BasketValidateView.set_invoice() et la vue devient inaccessible (et c'est la seul à faire un pay_invoice sur la facture liée au panier).

1 https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/7.%20Les%20comptes%20et%20moyens%20de%20paiement/PayFip/Guide%20de%20mise%20en%20oeuvre%20PayFiP%20R%C3%A9gie%20Web_service_juin2025.pdf

PS: ces réflexions suite au ticket #115334 sur SLDV


Subtasks 1 (1 open0 closed)

EOPayment - Développement #116030: Mettre un délai d'attente par défaut à 20 minutes pour tous les backendsNouveau25 March 2026

Actions
Actions #2

Updated by Benjamin Dauvergne about 2 months ago

  • Description updated (diff)
Actions #3

Updated by Benjamin Dauvergne about 1 month ago

  • Subtask #116030 added
Actions

Also available in: Atom PDF