Projet

Général

Profil

Development #57367

ajouter un montant minimum/maximum aux backends

Ajouté par Benjamin Dauvergne il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
28 septembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Pour éviter les erreurs avant d'arriver jusqu'au paiement.


Fichiers

Révisions associées

Révision 6284e0fb (diff)
Ajouté par Benjamin Dauvergne il y a plus de 2 ans

add minimal and maximal amount attribute to backends (#57367)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

#2

Mis à jour par Serghei Mihai il y a plus de 2 ans

Mais du coup on n'exploite pas l'info avant d'éxecuter request ?

#3

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

Serghei Mihai a écrit :

Mais du coup on n'exploite pas l'info avant d'éxecuter request ?

L'idée ce serait plutôt d'exploiter ça au niveau de AddBasketItemApiView en tout premier lieu, pour éviter que la démarche ne crée des Item impayables, ensuite pour les Item déjà créé ou les factures directement au niveau de BasketItemPayView et PayView pour éviter de dépendre d'un message créé par eopayment, ça obligerait à définir une API au niveau des exceptions pour retourner un message intelligible. C'est aussi nécessaire aussi en général qu'eopayment lève des exceptions avec des messages directement exploitables, surtout qu'on peut les traduire depuis un moment, pour l'utilisateur mais ici je préfère quelque chose de restreint au problème notamment pour l'exploiter dans AddBasketItemApiView.

On peut ouvrir un autre ticket pour faire en sorte que PaymentException dipose d'une méthode get_user_message() qui retournerait toujours quelque chose qu'on puisse présenter à l'utilisateur via messages.warning(request, ...). Si je prends le cas de payfip web-service il y a les erreurs SOAP (ici M3) qu'on pourrait codifier mais il y a aussi les erreurs réseaux qui sont remontés en termes barbares:

                raise PayFiPError('Cound not initialize the SOAP client', e)
...
            raise PayFiPError('erreur-soap', str(zeep_error), zeep_error)

Dans ces deux cas e.get_user_message() devrait retourner un truc de la forme "Le serveur de paiement est actuellement indisponible à cause d'un problème réseau. Veuillez réessayer plus tard.".

#4

Mis à jour par Serghei Mihai il y a plus de 2 ans

  • Statut changé de Solution proposée à Solution validée

Go for it. Mais faisons un ticket pour récupérer un message intelligible pour l'usager.

#5

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 6284e0fbb3852c03e3bed9ad41e0dea9f383acf8
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue Sep 28 21:51:36 2021 +0200

    add minimal and maximal amount attribute to backends (#57367)
#6

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF