[bank ↪ fix_abonnements_stripe] 20 commits

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

Détails : fix: une fonction stripe_webhook_invoice_created_dist() pour enregistrer les... (686065d5) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: purger les infos relatives à une invoice une fois le paiement traité (09def0e5) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: utiliser empty() pour tester la présence des valeurs dans invoice +... (7cad5857) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: sur les renouvellements d'abonnement on ne peut stocker les token dans... (afa24658) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: pas la peine de faire l'update si on arrive à la même chose que ce qui a... (e5ad590b) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: on ne fait rien sur le charge_succeeded car ça n'apporte rien de plus, et... (3be245a5) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: coquille, ce n'est pas la transaction qui revient mais un array ou false (0a3ad573) · Validations · nursit / bank · GitLab

==============================
Par Cerdic, le 6 mars 2026 à 11h41min :

fix: recuperation des tokens dans _stripe_webhook_invoice_payment_result() (coquille)

Modifié
presta/stripe/call/autoresponse.php

Détails : fix: recuperation des tokens dans _stripe_webhook_invoice_payment_result() (coquille) (676f0ce9) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: gestion de la concurrence lors de la mise a jour du champ token (790f4e90) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: une implementation stripe_webhook_charge_succeeded_dist() pour gerer l'event charge.succeded (2365b312) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: payment_intent_succeeded et invoice_payment_succeded peuvent arriver dans... (28ffde9d) · Validations · nursit / bank · GitLab

==============================
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

Détails : refactor: _stripe_webhook_invoice_payment_result() essaye de retrouver la... (e60621db) · Validations · nursit / bank · GitLab

==============================
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

Détails : refactor: les 2 events payment_intent.payment_failed et... (a7e17bf6) · Validations · nursit / bank · GitLab

==============================
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

Détails : refactor: la fonction _stripe_webhook_checkout_session_result() récupère aussi... (04ca952a) · Validations · nursit / bank · GitLab

==============================
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

Détails : refactor: la fonction stripe_retrouve_transaction_par_payment_et_customer()... (07117f72) · Validations · nursit / bank · GitLab

==============================
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

Détails : feat: une constante _BANK_STRIPE_RECORD_EVENTS permet d'enregistrer la... (9f1920ad) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: ne pas faire d'inclusion ici, ça ne marche pas sur le hit ajax pour faire... (eebcf47d) · Validations · nursit / bank · GitLab

==============================
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

Détails : fix: si montant de echeance nul il faut return false plus tot, ça evitera de... (aec8032a) · Validations · nursit / bank · GitLab