From 5a216b7be9066e5ae524849fe6bc9da2b4ef3ebf Mon Sep 17 00:00:00 2001 From: Martin Gross Date: Wed, 24 Jul 2019 15:37:39 +0200 Subject: [PATCH] Fix Stripe refunds for PaymentIntents --- src/pretix/plugins/stripe/payment.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pretix/plugins/stripe/payment.py b/src/pretix/plugins/stripe/payment.py index e3e34e1c71..78bc3f103d 100644 --- a/src/pretix/plugins/stripe/payment.py +++ b/src/pretix/plugins/stripe/payment.py @@ -451,7 +451,12 @@ class StripeMethod(BasePaymentProvider): raise PaymentException(_('No payment information found.')) try: - ch = stripe.Charge.retrieve(payment_info['id'], **self.api_kwargs) + if payment_info['id'].startswith('pi_'): + chargeid = payment_info['charges']['data'][0]['id'] + else: + chargeid = payment_info['id'] + + ch = stripe.Charge.retrieve(chargeid, **self.api_kwargs) r = ch.refunds.create( amount=self._get_amount(refund), )