details:   https://code.tryton.org/tryton/commit/c9d4cbb242a7
branch:    default
user:      Cédric Krier <[email protected]>
date:      Tue Oct 07 15:21:08 2025 +0200
description:
        Remove usage of deprecated stripe.error module

        Since version 7.8.0 of stripe, the module is deprecated and it was 
removed in
        version 13.0.0.

        Closes #14278
diffstat:

 modules/account_payment_stripe/payment.py |  76 +++++++++++++++---------------
 modules/account_payment_stripe/routes.py  |   2 +-
 modules/account_payment_stripe/setup.py   |   2 +-
 3 files changed, 40 insertions(+), 40 deletions(-)

diffs (238 lines):

diff -r d7df006333a0 -r c9d4cbb242a7 modules/account_payment_stripe/payment.py
--- a/modules/account_payment_stripe/payment.py Tue Oct 07 15:27:45 2025 +0200
+++ b/modules/account_payment_stripe/payment.py Tue Oct 07 15:21:08 2025 +0200
@@ -476,7 +476,7 @@
                 payment_intent = stripe.PaymentIntent.create(
                     **payment._payment_intent_parameters(
                         off_session=off_session))
-            except stripe.error.CardError as e:
+            except stripe.CardError as e:
                 error = e.json_body.get('error', {})
                 payment_intent = error.get('payment_intent')
                 if not payment_intent:
@@ -499,17 +499,17 @@
                     create_charge(payment)
                 elif payment.stripe_customer_payment_method:
                     create_payment_intent(payment)
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 continue
-            except stripe.error.StripeError as e:
+            except stripe.StripeError as e:
                 if e.code in RETRY_CODES:
                     logger.warning(str(e))
                     continue
                 payment.stripe_error_message = str(e)
                 payment.stripe_error_code = e.code
-                if isinstance(e, stripe.error.StripeErrorWithParamCode):
+                if isinstance(e, stripe.StripeErrorWithParamCode):
                     payment.stripe_error_param = e.param
                 payment.save()
                 cls.fail([payment])
@@ -610,17 +610,17 @@
                     capture_charge(payment)
                 elif payment.stripe_payment_intent_id:
                     capture_intent(payment)
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 continue
-            except stripe.error.StripeError as e:
+            except stripe.StripeError as e:
                 if e.code in RETRY_CODES:
                     logger.warning(str(e))
                     continue
                 payment.stripe_error_message = str(e)
                 payment.stripe_error_code = e.code
-                if isinstance(e, stripe.error.StripeErrorWithParamCode):
+                if isinstance(e, stripe.StripeErrorWithParamCode):
                     payment.stripe_error_param = e.param
                 payment.save()
                 cls.fail([payment])
@@ -650,8 +650,8 @@
                 expand=['latest_charge'],
                 api_key=self.journal.stripe_account.secret_key,
                 stripe_version=STRIPE_VERSION)
-        except (stripe.error.RateLimitError,
-                stripe.error.APIConnectionError) as e:
+        except (stripe.RateLimitError,
+                stripe.APIConnectionError) as e:
             logger.warning(str(e))
 
     stripe_intent = stripe_payment_intent
@@ -669,8 +669,8 @@
                 self.stripe_charge_id,
                 api_key=self.journal.stripe_account.secret_key,
                 stripe_version=STRIPE_VERSION)
-        except (stripe.error.RateLimitError,
-                stripe.error.APIConnectionError) as e:
+        except (stripe.RateLimitError,
+                stripe.APIConnectionError) as e:
             logger.warning(str(e))
 
     @classmethod
@@ -921,17 +921,17 @@
                     api_key=refund.payment.journal.stripe_account.secret_key,
                     stripe_version=STRIPE_VERSION,
                     **refund._refund_parameters())
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 continue
-            except stripe.error.StripeError as e:
+            except stripe.StripeError as e:
                 if e.code in RETRY_CODES:
                     logger.warning(str(e))
                     continue
                 refund.stripe_error_message = str(e)
                 refund.stripe_error_code = e.code
-                if isinstance(e, stripe.error.StripeErrorWithParamCode):
+                if isinstance(e, stripe.StripeErrorWithParamCode):
                     refund.stripe_error_param = e.param
                 cls.process([refund])
                 cls.fail([refund])
@@ -1575,17 +1575,17 @@
                     stripe_version=STRIPE_VERSION,
                     source=customer.stripe_token,
                     **customer._customer_parameters())
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 continue
-            except stripe.error.StripeError as e:
+            except stripe.StripeError as e:
                 if e.code in RETRY_CODES:
                     logger.warning(str(e))
                     continue
                 customer.stripe_error_message = str(e)
                 customer.stripe_error_code = e.code
-                if isinstance(e, stripe.error.StripeErrorWithParamCode):
+                if isinstance(e, stripe.StripeErrorWithParamCode):
                     customer.stripe_error_param = e.param
                 customer.stripe_token = None
             except Exception:
@@ -1622,8 +1622,8 @@
                     stripe_version=STRIPE_VERSION,
                     **customer._customer_parameters()
                     )
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 raise
 
@@ -1649,8 +1649,8 @@
                     stripe_version=STRIPE_VERSION,
                     id=customer.stripe_customer_id)
                 cu.delete()
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 continue
             except Exception:
@@ -1672,8 +1672,8 @@
                 stripe_version=STRIPE_VERSION,
                 id=self.stripe_customer_id,
                 **params)
-        except (stripe.error.RateLimitError,
-                stripe.error.APIConnectionError) as e:
+        except (stripe.RateLimitError,
+                stripe.APIConnectionError) as e:
             logger.warning(str(e))
 
     def sources(self):
@@ -1736,8 +1736,8 @@
                     source,
                     api_key=self.stripe_account.secret_key,
                     stripe_version=STRIPE_VERSION)
-        except (stripe.error.RateLimitError,
-                stripe.error.APIConnectionError) as e:
+        except (stripe.RateLimitError,
+                stripe.APIConnectionError) as e:
             logger.warning(str(e))
             raise
         self._sources_cache.clear()
@@ -1754,8 +1754,8 @@
                     api_key=self.stripe_account.secret_key,
                     stripe_version=STRIPE_VERSION,
                     customer=self.stripe_customer_id)
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 return []
             for payment_method in payment_methods:
@@ -1808,8 +1808,8 @@
                 self.stripe_setup_intent_id,
                 api_key=self.stripe_account.secret_key,
                 stripe_version=STRIPE_VERSION)
-        except (stripe.error.RateLimitError,
-                stripe.error.APIConnectionError) as e:
+        except (stripe.RateLimitError,
+                stripe.APIConnectionError) as e:
             logger.warning(str(e))
 
     stripe_intent = stripe_setup_intent
@@ -1853,11 +1853,11 @@
                             payment_method=setup_intent.payment_method,
                             **customer._customer_parameters())
                         customer.stripe_customer_id = cu.id
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 continue
-            except stripe.error.StripeError as e:
+            except stripe.StripeError as e:
                 if e.code in RETRY_CODES:
                     logger.warning(str(e))
                     continue
@@ -1888,8 +1888,8 @@
                     stripe_version=STRIPE_VERSION,
                     customer=customer.id,
                     type='card')
-            except (stripe.error.RateLimitError,
-                    stripe.error.APIConnectionError) as e:
+            except (stripe.RateLimitError,
+                    stripe.APIConnectionError) as e:
                 logger.warning(str(e))
                 payment_methods = []
             for payment_method in payment_methods:
diff -r d7df006333a0 -r c9d4cbb242a7 modules/account_payment_stripe/routes.py
--- a/modules/account_payment_stripe/routes.py  Tue Oct 07 15:27:45 2025 +0200
+++ b/modules/account_payment_stripe/routes.py  Tue Oct 07 15:21:08 2025 +0200
@@ -96,7 +96,7 @@
                 request_body, sig_header, account.webhook_signing_secret)
         except ValueError:  # Invalid payload
             abort(HTTPStatus.BAD_REQUEST)
-        except stripe.error.SignatureVerificationError:
+        except stripe.SignatureVerificationError:
             abort(HTTPStatus.BAD_REQUEST)
     else:
         logger.warn("Stripe signature ignored")
diff -r d7df006333a0 -r c9d4cbb242a7 modules/account_payment_stripe/setup.py
--- a/modules/account_payment_stripe/setup.py   Tue Oct 07 15:27:45 2025 +0200
+++ b/modules/account_payment_stripe/setup.py   Tue Oct 07 15:21:08 2025 +0200
@@ -44,7 +44,7 @@
     download_url = 'http://downloads.tryton.org/%s.%s/' % (
         major_version, minor_version)
 
-requires = ['stripe >= 2.32.0, < 13.0.0']
+requires = ['stripe >= 7.8.0']
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res)(\W|$)', dep):
         requires.append(get_require_version('trytond_%s' % dep))

Reply via email to