nursit/bank | 20 commits
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: une fonction stripe_webhook_invoice_created_dist() pour enregistrer les infos liées à la facture lors de l’event invoice_created + utiliser si possible dans _stripe_webhook_payment_intent_result() pour enregistrer le paiement
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: purger les infos relatives à une invoice une fois le paiement traité
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: eviter des indefinies
Modifié
presta/stripe/call/autoresponse.php
Détails : fix: eviter des indefinies (61d249ea) · Validations · nursit / bank · GitLab
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: utiliser empty() pour tester la présence des valeurs dans invoice + trouver la subscription dans le parent si pas directement renseignée
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: sur les renouvellements d’abonnement on ne peut stocker les token dans une transaction qui n’existe pas encore, il faut donc stocker dans un fichier de config/stripe_invoices avec le numero de invoice comme référence quand on est dans _stripe_webhook_payment_intent_result() pour utiliser ensuite dans _stripe_webhook_invoice_payment_result()
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: pas la peine de faire l’update si on arrive à la même chose que ce qui a été mis en base par un autre processus
Modifié
presta/stripe/inc/stripe.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: on ne fait rien sur le charge_succeeded car ça n’apporte rien de plus, et autant limiter le nombre de traitements
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: coquille, ce n’est pas la transaction qui revient mais un array ou false
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: recuperation des tokens dans _stripe_webhook_invoice_payment_result() (coquille)
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: array_unique pour ne pas dedoubler le cs_…
Modifié
presta/stripe/inc/stripe.php
Détails : fix: array_unique pour ne pas dedoubler le cs_... (6a835723) · Validations · nursit / bank · GitLab
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: gestion de la concurrence lors de la mise a jour du champ token
Modifié
presta/stripe/inc/stripe.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: une implementation stripe_webhook_charge_succeeded_dist() pour gerer l’event charge.succeded
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: payment_intent_succeeded et invoice_payment_succeded peuvent arriver dans un ordre ou dans un autre, on gere donc les 2 cas possibles et si besoin non note le billing_reason dans les token
Modifié
presta/stripe/call/autoresponse.php
presta/stripe/inc/stripe.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
refactor: _stripe_webhook_invoice_payment_result() essaye de retrouver la transaction via stripe_retrouve_transaction_par_payment_et_customer() et le invoice_id + recupère si besoin le payment_intent_id et charge_id enregistrés dans le champ token de la transaction pour finaliser le paiement
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
refactor: les 2 events payment_intent.payment_failed et payment_intent.succeeded sont traités par _stripe_webhook_payment_intent_result() qui récupère aussi charge_id et checkout_session_id (acte) ou bien invoice_id (abo) et les ajoute à la transaction si besoin. On valide le paiement si pas de subscription, mais sinon on laisse la main à suivre à stripe_webhook_invoice_payment_result()
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
refactor: la fonction _stripe_webhook_checkout_session_result() récupère aussi le invoice_id si possible, et si on a pas le payment_intent qui permet de valider la transaction, on l’enregistre dans les tokens de la transaction
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
refactor: la fonction stripe_retrouve_transaction_par_payment_et_customer() peut recevoir dans un tableau options supplementaire les champs id_transaction, checkout_session_id, invoice_id, charge_id pour retrouver plus facilement la transaction et/ou enregistrer les tokens connus supplémentaires dans la transaction pour utilisation dans les events suivant de la séquence de paiement
Modifié
presta/stripe/inc/stripe.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
feat: une constante _BANK_STRIPE_RECORD_EVENTS permet d’enregistrer la séquence et le contenu des events dans un dossier tmp/stripe_events ce qui permet un debug et une analyse détaillée d’une séquence de paiement.
Pour eviter tout drame si jamais cette constante est laissée en production, on ne produit pas plus de 100 fichiers, le but étant de toute façon de collecter les events sur une séquence de paiement, pas en continu
Modifié
presta/stripe/call/autoresponse.php
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: ne pas faire d’inclusion ici, ça ne marche pas sur le hit ajax pour faire le checkout, juste indiquer en commentaire de faire cette inclusion dans les mes_options.php
Modifié
demo/abonnement.html
==============================
Par Cerdic, le 6 mars 2026 à 11h41min :
fix: si montant de echeance nul il faut return false plus tot, ça evitera de proposer le moyen de paiement alors qu’on s’ait pas payer
Modifié
presta/stripe/call/request.php