https://dev.entrouvert.org/https://dev.entrouvert.org/favicon.ico?15861920342020-01-16T15:54:25ZRedmine Entr’ouvertPasserelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2102312020-01-16T15:54:25ZLauréline Guérin
<ul><li><strong>Fichier</strong> <a href="/attachments/40496">0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/40496/0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch">0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch</a> ajouté</li><li><strong>Statut</strong> changé de <i>Nouveau</i> à <i>Solution proposée</i></li><li><strong>Patch proposed</strong> changé de <i>Non</i> à <i>Oui</i></li></ul> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2103852020-01-17T12:36:04ZLauréline Guérin
<ul><li><strong>Statut</strong> changé de <i>Solution proposée</i> à <i>En cours</i></li></ul> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2103872020-01-17T12:37:24ZLauréline Guérin
<ul><li><strong>Lié à</strong> <i><a class="issue tracker-2 status-6 priority-4 priority-default closed" href="/issues/39062">Development #39062</a>: Lingo - envoyer le montant de la transaction lors du callback de paiement</i> ajouté</li></ul> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2103982020-01-17T13:36:26ZBenjamin Dauvergne
<ul></ul><p>Discussion dans <a class="issue tracker-2 status-6 priority-4 priority-default closed" title="Development: Lingo - envoyer le montant de la transaction lors du callback de paiement (Rejeté)" href="https://dev.entrouvert.org/issues/39062">#39062</a> et en jabber sur le problème de ne pas pouvoir retrouvé le DUI si pas de nameid de l'utilisateur rattaché.</p>
<pre>
(14:17:52) Laureline Guérin: pas con ta remarque, d'ailleurs dans le connecteur teamnet_axel c'est comme ça que ça marche :)
(14:20:48) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: en fait j'allais rajouter un truc
(14:21:00) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: je me dis que lingo devrait ne pas savoir comment on identifie la facture
(14:21:11) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: on devrait juste lui filer une URL déjà formée avec ce qu'on veut dedans et il l'appelle
(14:21:18) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: je pensais que c'était déjà comme cela
(14:21:36) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: c'est toujours con de construire des URLs à la main dans une interface entre systèmes distant
(14:21:50) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: si on peut fournir l'URL dejà formée c'est toujours plus simple de faire évoluer les choses ensuite
(14:24:28) Laureline Guérin: mais du coup c'est l'objet d'un autre ticket, non ?
(14:24:34) Laureline Guérin: là je peux me débrouiller avec l'existant
(14:29:01) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: oui de toute façon ça demanderait de changer beaucoup trop de choses
(14:29:17) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: typiquement il faudrait faire de l'URL de la facture son RemoteItem.id
(14:29:43) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: et ne pas stocker les item_id séparé par des virgules (parce que la virgule est autorisé dans les URLs) mais des espaces
(14:30:05) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: par contre je vois que ça gère déjà un display_id différent de id
(14:30:09) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: faut profiter de ça
(14:30:33) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: dans get_invoices() renvoie un display_id avec l'ancienne valeur de id
(14:31:08) Laureline Guérin: yep ok
(14:31:49) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: et dans id '%s-%s' % (link.dui, facture['IDFACTURE']) et en entrée if '-' in id: dui = id.split('-', 1)[0] else: # find dui by nameid
(14:31:59) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: comme ça on gère les deux modes avec ou sans DUI
(14:32:03) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: sait-on jamais
(14:32:45) Laureline Guérin: on peut juste pas marquer la facture comme payée si on n'a pas le dui dans l'id :)
(14:33:29) bdauvergne@im.libre-entreprise.com/25326598331579261034299156: sans dui on peut rien faire de tout façon
</pre> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2104262020-01-17T15:00:43ZLauréline Guérin
<ul><li><strong>Fichier</strong> <a href="/attachments/40520">0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/40520/0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch">0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch</a> ajouté</li><li><strong>Statut</strong> changé de <i>En cours</i> à <i>Solution proposée</i></li></ul> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2104982020-01-17T18:44:30ZBenjamin Dauvergne
<ul><li><strong>Statut</strong> changé de <i>Solution proposée</i> à <i>En cours</i></li></ul><ul>
<li>est-ce qu'on a une liste des régies quelque part ? Pour documenter ça sur le connecteur directement (même si ça évoluera ça évitera d'avoir à chercher dans un premier temps)</li>
<li>je ne suis pas fan du threading de error_status... il doit y avoir moyen de gérer ça autrement, uniquement dans invoice_pdf</li>
<li>l.858 <code> dui, invoice_id = invoice_id.split('-')</code> manque un <code>, 1</code> et manque un try/except pour remonter une erreur de syntaxe</li>
<li>idem contrôler que regie_id est non vide (pareil pour tous les autres)</li>
<li>l.857 <code> data = json.loads(request.body)</code> je pense qu'on peut se permettre un schéma, après tous les autres (en plus celui là on devrait pouvoir le partager avec les autres connecteurs facture dans passerelle)</li>
<li>on devrait avoir un get_invoice_by_id() plutôt que de boucle sur get_invoices_by_dui ; en fait les cas où le name_id est nécessaire ou pas ne sont pas bien séparés, en fait <code>def invoice()</code> ne devrait pas attendre de NameID, invoice_id étant suffisant ou alors optionnelement (si présent on check que l'accès est bon, i.e. les DUI correspondent, mais c'est tout je pense)</li>
<li>manque try/except autour de strptime()</li>
<li>IDREGIEENCAISSEMENT : on est sûr que ce sera toujours vide ? sinon poser la question à Toulouse</li>
</ul> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2105712020-01-20T08:14:32ZLauréline Guérin
<ul></ul><blockquote>
<p>est-ce qu'on a une liste des régies quelque part ? Pour documenter ça sur le connecteur directement (même si ça évoluera ça évitera d'avoir à chercher dans un premier temps)</p>
</blockquote>
<p>On a une liste de regie de prod et de preprod dans le ticket #37600; je documente lesquelles ?</p>
<blockquote>
<p>l.858 dui, invoice_id = invoice_id.split('-') manque un , 1 et manque un try/except pour remonter une erreur de syntaxe</p>
</blockquote>
<p>Dans la regex de définition de l'url : <code>(?P<invoice_id>\w+-\d+)</code><br />Du coup, en entrée on a forcément une string du bon format</p>
<blockquote>
<p>idem contrôler que regie_id est non vide (pareil pour tous les autres)</p>
</blockquote>
<p>Idem, <code>(?P<regie_id>[\w-]+)</code> ça ne peut pas être vide</p>
<blockquote>
<p>IDREGIEENCAISSEMENT : on est sûr que ce sera toujours vide ? sinon poser la question à Toulouse</p>
</blockquote>
<p>Dans la doc:<br />Régie d’encaissement : si transmis vide par TS, prendre règle suivante pour déterminer la régie d’encaissement :<br />Régie d’encaissement : actuellement il n’y qu’une seule régie d’encaissement par régie de facturation qui est utilisée pour les paiements en ligne. <br />Dans le cas ou il y aura plusieurs régies d’encaissement il faudra soit passer son identifiant, soit avoir l’information dans Axel de laquelle il s’agit (onglet : ‘paiement en ligne’)</p>
<p>A priori ils ont tout de leur côté pour déterminer la régie d'encaissement</p> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2106312020-01-20T10:49:49ZLauréline Guérin
<ul><li><strong>Fichier</strong> <a href="/attachments/40567">0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/40567/0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch">0001-toulouse_axel-endpoint-to-pay-an-invoice-39005.patch</a> ajouté</li><li><strong>Statut</strong> changé de <i>En cours</i> à <i>Solution proposée</i></li></ul><blockquote>
<p>je ne suis pas fan du threading de error_status... il doit y avoir moyen de gérer ça autrement, uniquement dans invoice_pdf</p>
</blockquote>
<p>J'ai géré ça dans invoice_pdf avec un try/except</p>
<blockquote>
<p>on devrait avoir un get_invoice_by_id() plutôt que de boucle sur get_invoices_by_dui ; en fait les cas où le name_id est nécessaire ou pas ne sont pas bien séparés, en fait def invoice() ne devrait pas attendre de NameID, invoice_id étant suffisant ou alors optionnelement (si présent on check que l'accès est bon, i.e. les DUI correspondent, mais c'est tout je pense)</p>
</blockquote>
<p>J'ai simplifié.<br />Note: on a toujours besoin du DUI (on peut l'avoir en param ou le trouver grâce au name_id), car c'est un param du WS. invoice_id n'est pas suffisant.</p>
<blockquote>
<p>manque try/except autour de strptime()</p>
</blockquote>
<p>géré dans la fonction encode_datetime</p> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2106862020-01-20T14:02:33ZBenjamin Dauvergne
<ul></ul><p>Lauréline Guerin a écrit :</p>
<blockquote><blockquote>
<p>est-ce qu'on a une liste des régies quelque part ? Pour documenter ça sur le connecteur directement (même si ça évoluera ça évitera d'avoir à chercher dans un premier temps)</p>
</blockquote>
<p>On a une liste de regie de prod et de preprod dans le ticket #37600; je documente lesquelles ?</p>
</blockquote>
<p>Je découvre le bordel que c'est oublions.</p>
<blockquote><blockquote>
<p>l.858 dui, invoice_id = invoice_id.split('-') manque un , 1 et manque un try/except pour remonter une erreur de syntaxe</p>
</blockquote>
<p>Dans la regex de définition de l'url : <code>(?P<invoice_id>\w+-\d+)</code><br />Du coup, en entrée on a forcément une string du bon format</p>
</blockquote>
<p>Ok.</p>
<blockquote><blockquote>
<p>idem contrôler que regie_id est non vide (pareil pour tous les autres)</p>
</blockquote>
<p>Idem, <code>(?P<regie_id>[\w-]+)</code> ça ne peut pas être vide</p>
</blockquote>
<p>Ok.</p>
<blockquote><blockquote>
<p>IDREGIEENCAISSEMENT : on est sûr que ce sera toujours vide ? sinon poser la question à Toulouse</p>
</blockquote>
<p>Dans la doc:<br />Régie d’encaissement : si transmis vide par TS, prendre règle suivante pour déterminer la régie d’encaissement :<br />Régie d’encaissement : actuellement il n’y qu’une seule régie d’encaissement par régie de facturation qui est utilisée pour les paiements en ligne. <br />Dans le cas ou il y aura plusieurs régies d’encaissement il faudra soit passer son identifiant, soit avoir l’information dans Axel de laquelle il s’agit (onglet : ‘paiement en ligne’)</p>
</blockquote>
<p>Bon ok on verra plus tard si ça arrive.</p> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2106882020-01-20T14:05:35ZBenjamin Dauvergne
<ul><li><strong>Statut</strong> changé de <i>Solution proposée</i> à <i>Solution validée</i></li></ul><p>Lauréline Guerin a écrit :</p>
<blockquote>
<p>J'ai simplifié.<br />Note: on a toujours besoin du DUI (on peut l'avoir en param ou le trouver grâce au name_id), car c'est un param du WS. invoice_id n'est pas suffisant.</p>
</blockquote>
<p>invoice_id contenant le DUI il est toujours suffisant.</p> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2107762020-01-20T17:00:52ZLauréline Guérin
<ul><li><strong>Statut</strong> changé de <i>Solution validée</i> à <i>Résolu (à déployer)</i></li></ul><pre>
commit 342121cf387f75282a88af6e7e909f68e8e0536b
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date: Thu Jan 16 14:31:18 2020 +0100
toulouse_axel: endpoint to pay an invoice (#39005)
</pre> Passerelle - Development #39005: Toulouse Axel - endpoint de paiement des factureshttps://dev.entrouvert.org/issues/39005?journal_id=2123022020-01-28T14:18:41ZFrédéric Pétersfpeters@entrouvert.com
<ul><li><strong>Statut</strong> changé de <i>Résolu (à déployer)</i> à <i>Solution déployée</i></li></ul>