changeset 9842d17c24b7 in modules/account_payment_stripe:default
details: 
https://hg.tryton.org/modules/account_payment_stripe?cmd=changeset;node=9842d17c24b7
description:
        Support charge.expired webhook event

        issue8455
        review257651004
diffstat:

 payment.py |  9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diffs (39 lines):

diff -r 3678b9034229 -r 9842d17c24b7 payment.py
--- a/payment.py        Mon Jul 08 21:18:18 2019 +0200
+++ b/payment.py        Mon Jul 22 23:58:15 2019 +0200
@@ -561,6 +561,8 @@
             return self.webhook_charge_succeeded(data)
         if type_ == 'charge.captured':
             return self.webhook_charge_captured(data)
+        elif type_ == 'charge.expired':
+            return self.webhook_charge_expired(data)
         elif type_ == 'charge.failed':
             return self.webhook_charge_failed(data)
         elif type_ == 'charge.pending':
@@ -608,13 +610,16 @@
     def webhook_charge_captured(self, payload):
         return self.webhook_charge_succeeded(payload, _event='charge.captured')
 
+    def webhook_charge_expired(self, payload):
+        return self.webhook_source_failed(payload, _event='charge.expired')
+
     def webhook_charge_pending(self, payload):
         return self.webhook_charge_succeeded(payload, _event='charge.pending')
 
     def webhook_charge_refunded(self, payload):
         return self.webhook_charge_succeeded(payload, _event='charge.pending')
 
-    def webhook_charge_failed(self, payload):
+    def webhook_charge_failed(self, payload, _event='charge.failed'):
         pool = Pool()
         Payment = pool.get('account.payment')
 
@@ -623,7 +628,7 @@
                 ('stripe_charge_id', '=', charge['id']),
                 ])
         if not payments:
-            logger.error("charge.failed: No payment '%s'", charge['id'])
+            logger.error("%s: No payment '%s'", _event, charge['id'])
         for payment in payments:
             # TODO: remove when https://bugs.tryton.org/issue4080
             with Transaction().set_context(company=payment.company.id):

Reply via email to