mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
Log failed payments
This commit is contained in:
@@ -326,6 +326,11 @@ class StripeMethod(BasePaymentProvider):
|
||||
}
|
||||
payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
payment.save()
|
||||
payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': payment.local_id,
|
||||
'provider': payment.provider,
|
||||
'message': err['message']
|
||||
})
|
||||
raise PaymentException(_('Stripe reported an error with your card: %s') % err['message'])
|
||||
|
||||
except stripe.error.StripeError as e:
|
||||
@@ -341,6 +346,11 @@ class StripeMethod(BasePaymentProvider):
|
||||
}
|
||||
payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
payment.save()
|
||||
payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': payment.local_id,
|
||||
'provider': payment.provider,
|
||||
'message': err['message']
|
||||
})
|
||||
raise PaymentException(_('We had trouble communicating with Stripe. Please try again and get in touch '
|
||||
'with us if this problem persists.'))
|
||||
else:
|
||||
@@ -370,6 +380,11 @@ class StripeMethod(BasePaymentProvider):
|
||||
payment.info = str(charge)
|
||||
payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
payment.save()
|
||||
payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': payment.local_id,
|
||||
'provider': payment.provider,
|
||||
'info': str(charge)
|
||||
})
|
||||
raise PaymentException(_('Stripe reported an error: %s') % charge.failure_message)
|
||||
|
||||
def payment_pending_render(self, request, payment) -> str:
|
||||
@@ -461,6 +476,11 @@ class StripeMethod(BasePaymentProvider):
|
||||
}
|
||||
payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
payment.save()
|
||||
payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': payment.local_id,
|
||||
'provider': payment.provider,
|
||||
'message': err['message']
|
||||
})
|
||||
raise PaymentException(_('We had trouble communicating with Stripe. Please try again and get in touch '
|
||||
'with us if this problem persists.'))
|
||||
|
||||
@@ -630,6 +650,11 @@ class StripeCC(StripeMethod):
|
||||
}
|
||||
payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
payment.save()
|
||||
payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': payment.local_id,
|
||||
'provider': payment.provider,
|
||||
'message': err['message']
|
||||
})
|
||||
raise PaymentException(_('We had trouble communicating with Stripe. Please try again and get in touch '
|
||||
'with us if this problem persists.'))
|
||||
|
||||
|
||||
@@ -270,6 +270,11 @@ def charge_webhook(event, event_json, charge_id, rso):
|
||||
payment.info = str(charge)
|
||||
payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
payment.save()
|
||||
payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': payment.local_id,
|
||||
'provider': payment.provider,
|
||||
'info': str(charge)
|
||||
})
|
||||
|
||||
return HttpResponse(status=200)
|
||||
|
||||
@@ -335,6 +340,11 @@ def source_webhook(event, event_json, source_id, rso):
|
||||
elif src.status == 'failed':
|
||||
payment.info = str(src)
|
||||
payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': payment.local_id,
|
||||
'provider': payment.provider,
|
||||
'info': str(src)
|
||||
})
|
||||
payment.save()
|
||||
|
||||
return HttpResponse(status=200)
|
||||
@@ -423,6 +433,11 @@ class ReturnView(StripeOrderView, View):
|
||||
self.payment.state = OrderPayment.PAYMENT_STATE_FAILED
|
||||
self.payment.info = str(src)
|
||||
self.payment.save()
|
||||
self.payment.order.log_action('pretix.event.order.payment.failed', {
|
||||
'local_id': self.payment.local_id,
|
||||
'provider': self.payment.provider,
|
||||
'info': str(src)
|
||||
})
|
||||
messages.error(self.request, _('We had trouble authorizing your card payment. Please try again and '
|
||||
'get in touch with us if this problem persists.'))
|
||||
return self._redirect_to_order()
|
||||
|
||||
Reference in New Issue
Block a user