Project

General

Profile

Actions

Bug #78763

open

lingo: transaction abandonnée mais statut "en cours" qui va rester

Added by Frédéric Péters over 2 years ago. Updated about 1 year ago.

Status:
En cours
Priority:
Normal
Target version:
-
Start date:
20 June 2023
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No
Tags:

Description

Un paiement démarré mais l'usager arrête en chemin,

si je n'allais pas au bout sur le site de paiement mais que je revenais au début,

ensuite retourne cliquer pour déclencer le paiement, selon la régie ça va arriver dans

        if (
            regie.payment_backend.can_poll_backend()
            and self.poll_for_newly_paid_or_still_running_transactions(regie, items, remote_items)
        ):
            messages.error(request, _('Some items are already paid or are being paid.'))
            return HttpResponseRedirect(next_url)

et l'usager sera redirigé. (et en passant ne verra pas le message, mais ça lui ferait de toute façon une belle jambe).

Là d'une manière ou d'une autre aussi il peut y avoir un retour de la plateforme de paiement, et la transaction va gagner un end_date :

{'_state': <django.db.models.base.ModelState at 0x7f68b2a13e80>,
 'id': 208,
 'regie_id': 3,
 'remote_items': [],
 'to_be_paid_remote_items': None,
 'start_date': datetime.datetime(2023, 6, 20, 11, 36, 2, 495055, tzinfo=<UTC>),
 'end_date': datetime.datetime(2023, 6, 20, 11, 36, 13, 969787, tzinfo=<UTC>),
 'bank_data': {'mel': 'xxx',
  'exer': '2023',
  'idOp': '6b33cb98-4826-4291-8de0-056f4059b454',
  'objet': 'test paiement en ligne n119 10',
  'numcli': '066651',
  'refdet': '202306201136020046742619',
  'saisie': 'T',
  'montant': '1250',
  'numauto': None,
  'dattrans': None,
  'heurtrans': None,
  'resultrans': 'A'},
 'order_id': '6b33cb98-4826-4291-8de0-056f4059b454',
 'bank_transaction_id': '202306201136020046742619 6b33cb98-4826-4291-8de0-056f4059b454',
 'bank_transaction_date': None,
 'user_id': 5,
 'status': 6,
 'amount': Decimal('12.50')}

mais là on est encore en "WAITING", peut-être parce que c'est payfip-ws :

        # convert CANCELLED to WAITING during the first 20 minutes
        if eopayment_response.result == CANCELLED and delta < threshold:
            eopayment_response.result = WAITING
            eopayment_response.bank_status = (
                '%s - still waiting as idop is still active' % eopayment_response.bank_status
            )

et ça semble ensuite pouvoir rester ainsi et jamais expirer,

        to_expire = Transaction.objects.filter(
            start_date__lt=now - datetime.timedelta(hours=1), end_date__isnull=True
        )

Il y a un problème quelque part.

Actions #2

Updated by Frédéric Péters over 2 years ago

  • Tags set to paiement
Actions #3

Updated by Frédéric Péters over 2 years ago

Ou pas et ça marche correctement, parce que finalement dans le ticket lié,

le lien d'un test précédent est à nouveau opérationnel et renvoie bien vers payfip.

Actions #4

Updated by Benjamin Dauvergne over 1 year ago

  • Subject changed from transaction abandonnée mais statut "en cours" qui va rester to lingo: transaction abandonnée mais statut "en cours" qui va rester
Actions #5

Updated by Benjamin Dauvergne over 1 year ago

Je retiens de la description de ce ticket qu'il faudrait quelque soit l'erreur ou pas passer par la vue de statut des paiements, elle affichera l'erreur et temporisera le retour vers là d'où on vient.

Et il faut généraliser le comportement qui est fait en cas de souci sur le montant:

                get_payment_status_view(next_url=next_url if remote_items else items[0].source_url)

Actions #6

Updated by Benjamin Dauvergne over 1 year ago

  • Assignee set to Benjamin Dauvergne
Actions #7

Updated by Robot Gitea over 1 year ago

  • Status changed from Nouveau to En cours

Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :

Actions #8

Updated by Robot Gitea over 1 year ago

  • Status changed from En cours to Solution proposée
Actions #9

Updated by Robot Gitea about 1 year ago

  • Status changed from Solution proposée to En cours

Benjamin Dauvergne (bdauvergne) a commencé à travailler sur une pull request sur Gitea concernant cette demande :

Actions

Also available in: Atom PDF