Development #41323
Stocker et utiliser transaction_date dans les objects Transaction
0%
Description
Copié de #41317 :
- ajouter un attribut transaction_date sur Transaction (peut être None)
- le renseigner avec transaction_date quand la réponse eopayment en contient une
- envoyer « transaction_date = Transaction.transaction_date or Transaction.end_date » lors du pay_invoice
Fichiers
Demandes liées
Révisions associées
lingo: store received transaction_date (#41323)
lingo: force transaction_date to UTC in pay_invoice() (#41323)
lingo: use bank_transaction_date instead of end_date when possible (#41323)
lingo: send bank_transaction_date when notifying triggers (#41323)
Historique
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Bloque Development #41317: système de paiment : gestion de la date de la transaction ajouté
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Sujet changé de Stocker transaction_date dans les objects Transaction à Stocker et utiliser transaction_date dans les objects Transaction
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Question: dans quel timezone le champ transaction_date balancé à un RemoteItem est-il ? Ça ne semble pas déterminé, à la lecture du code ça serait toujours UTC vu que DateTimeField retourne ça par défaut (mais j'aime pas l'implicite).
Je dis ça parce que le souci sous-jacent c'est la date (et pas l'heure) d'imputation dans Axel et pour ça il faudra que dans toulouse-axel on envoie je suppose date et heure dans le bon fuseau.
PS: en fait le datetime ne vient même pas de DateTimeField puisqu'il vient juste d'être créé lors de la réception du paiement, via timezone.now() qui est toujours dans la zone UTC.
Validé sur https://passerelle-moncompte.cutm-ea-dev-publik.nfrance.com/manage/toulouse-axel/test/logs/?q=transaction_date :
{"transaction_id": "20200330162510_927460", "transaction_date": "2020-03-30T16:27:19"}
La transaction 927460 a été notifiée vers 18:27 pas 16:27.
Mis à jour par Thomas Noël il y a presque 4 ans
UTC d'un bout à l'autre, je confirme (réponse de SystemPay, API envoi de lingo vers passerelle, API envoi de passerelle vers Axel)
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Fichier 0002-lingo-store-received-transaction_date-41323.patch 0002-lingo-store-received-transaction_date-41323.patch ajouté
- Fichier 0004-lingo-use-transaction_date-instead-of-end_date-when-.patch 0004-lingo-use-transaction_date-instead-of-end_date-when-.patch ajouté
- Fichier 0005-REMOVE-ME-use-eopayment-from-branch-REMOVE-ME.patch 0005-REMOVE-ME-use-eopayment-from-branch-REMOVE-ME.patch ajouté
- Fichier 0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch 0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch ajouté
- Fichier 0001-lingo-add-Transaction.transaction_date-41323.patch 0001-lingo-add-Transaction.transaction_date-41323.patch ajouté
- Tracker changé de Support à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voilà, le 0005 est temporaire, c'est pour pouvoir tester avec la branche eopayment.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Fichier 0006-REMOVE-ME-use-eopayment-from-branch-REMOVE-ME.patch 0006-REMOVE-ME-use-eopayment-from-branch-REMOVE-ME.patch ajouté
- Fichier 0002-lingo-store-received-transaction_date-41323.patch 0002-lingo-store-received-transaction_date-41323.patch ajouté
- Fichier 0001-lingo-add-Transaction.bank_transaction_date-41323.patch 0001-lingo-add-Transaction.bank_transaction_date-41323.patch ajouté
- Fichier 0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch 0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch ajouté
- Fichier 0005-lingo-send-bank_transaction_date-when-notifying-trig.patch 0005-lingo-send-bank_transaction_date-when-notifying-trig.patch ajouté
- Fichier 0004-lingo-use-bank_transaction_date-instead-of-end_date-.patch 0004-lingo-use-bank_transaction_date-instead-of-end_date-.patch ajouté
- renommage de Transaction.transaction_date en bank_transaction_date (c'est plus cohérent avec bank_transaction_id)
- correction au changement de fuseau horaire (c'est tz.localize() sur un dt naïf, mais c'est dt.astimezone(tz) sur un dt aware :/)
- envoie de transaction_date aux triggers w.c.s., y a pas de raison qu'ils en soient privés (et ça servira pour corrige la date de paiement de DPark à Toulouse).
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Patch 0006 retiré, eopayment sur pypi correspond maintenant.
Mis à jour par Thomas Noël il y a presque 4 ans
0001: ok
0002: typo sur "logger.erorr"
0003: le truc que j'arrive jamais à savoir c'est si pytz fait partie de la stdlib ou pas. Mais sinon, à voir si tu veux conserver le "assert", on dit souvent que c'est pas bien dans du vrai code (autre que les tests), parce que les assert ne sont pas gérées avec python -O. Bref, si tu peux mettre un if, tout le monde il sera heureux.
0004 et 0005: ok
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Thomas Noël a écrit :
0003: le truc que j'arrive jamais à savoir c'est si pytz fait partie de la stdlib ou pas. Mais sinon, à voir si tu veux conserver le "assert", on dit souvent que c'est pas bien dans du vrai code (autre que les tests), parce que les assert ne sont pas gérées avec python -O. Bref, si tu peux mettre un if, tout le monde il sera heureux.
pytz est une dépendance implicite de django, django.utils.timezone.utc
vaut pytz.utc
, je vais mettre django.utils.timezone.utc
pour qu'on se pose moins de questions.
0004 et 0005: ok
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Fichier 0002-lingo-store-received-transaction_date-41323.patch 0002-lingo-store-received-transaction_date-41323.patch ajouté
- Fichier 0001-lingo-add-Transaction.bank_transaction_date-41323.patch 0001-lingo-add-Transaction.bank_transaction_date-41323.patch ajouté
- Fichier 0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch 0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch ajouté
- Fichier 0005-lingo-send-bank_transaction_date-when-notifying-trig.patch 0005-lingo-send-bank_transaction_date-when-notifying-trig.patch ajouté
- Fichier 0004-lingo-use-bank_transaction_date-instead-of-end_date-.patch 0004-lingo-use-bank_transaction_date-instead-of-end_date-.patch ajouté
Voilà.
Mis à jour par Thomas Noël il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 24dcabc6532a58d9eb9dd66df4733df6761bb63d Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Tue Apr 7 12:21:15 2020 +0200 lingo: send bank_transaction_date when notifying triggers (#41323) commit eebae4cbbde107c024ca9c1d8d512ab3ced0de07 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 3 20:09:01 2020 +0200 lingo: use bank_transaction_date instead of end_date when possible (#41323) commit 83a53952a4459b4510e527809dc5c445a3ff3e70 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 3 20:08:44 2020 +0200 lingo: force transaction_date to UTC in pay_invoice() (#41323) commit 4afe8c930c50664b77f5cf2a65e8ba6ef65de57e Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 3 19:14:21 2020 +0200 lingo: store received transaction_date (#41323) commit 1482ec599f623c748a68ca34d7de83b53c911cea Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 3 19:09:57 2020 +0200 lingo: add Transaction.bank_transaction_date (#41323)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Valentin Deniaud il y a presque 4 ans
- Lié à Development #42565: transaction_date n'est pas sauvegardé ajouté
lingo: add Transaction.bank_transaction_date (#41323)