Development #27766
systempayv2 : exposer tous les paramètres du backend
Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
05 novembre 2018
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Description
Pour les backends de paiement, la convention semble être d'exposer les paramètres d'un backend comme un attribut de la classe.
Exemple sur le backend paybox :
class Payment(PaymentCommon): ... description = { 'caption': _('Paybox'), 'parameters': [ { 'name': 'normal_return_url', 'caption': _('Normal return URL'), 'default': '', 'required': False, }, { 'name': 'automatic_return_url', 'caption': _('Automatic return URL'), 'required': False, }, ....
Sur le backend systempayv2, les choses sont moins directes, et seulement une partie des paramètres déclarés dans PARAMETERS
se retrouvent accessibles dans Payment.descritption
:
for name in ('vads_ctx_mode', VADS_SITE_ID, 'vads_order_info', 'vads_order_info2', 'vads_order_info3', 'vads_payment_cards', 'vads_payment_config'): parameter = PARAMETER_MAP[name] x = {'name': name, 'caption': parameter.description or name, 'validation': lambda value: parameter.check_value(value), 'default': parameter.default, 'required': parameter.needed, 'help_text': parameter.help_text, 'max_length': parameter.max_length} description['parameters'].append(x)
Dans #26992, j'aimerais pouvoir interroger les backends de façon homogène, genre savoir si le backend accepte un 'vads_capture_delay' ou un 'capture_day'.
Historique
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Statut changé de Nouveau à Rejeté
Exposer tous les paramètres provoque un conflit entre la méthode signature
et le paramètre du même nom, parce que les paramètres transformés en attributs du backend.
Je m'arrête là, je rendrai uniquement 'vads_capture_delay' disponible dans #26992.