Support charge.expired webhook event

issue8455
review257651004
This commit is contained in:
Cédric Krier committed 2019-07-22 23:58:15 +02:00
1 parent 8d7fa04db2
commit dfb1f74958
1 file changed
+7 -2
+7 -2
View File
@@ -561,6 +561,8 @@ class Account(ModelSQL, ModelView):
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 @@ class Account(ModelSQL, ModelView):
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 @@ class Account(ModelSQL, ModelView):
('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):