Skip to content

dj-stripe 2.9.0 (2025-01-03)

Breaking Changes

  • Removed deprecated settings DJSTRIPE_WEBHOOK_TOLERANCE, DJSTRIPE_WEBHOOK_SECRET
  • Removed deprecated Order model
  • Support for Source and SourceTransaction models has been removed. The models remain accessible in the codebase for compatibility, but have to be explicitly imported via djstripe.models.payment_methods. They will be removed in a future version.
  • Remove unsupported method Customer.add_card.
  • Remove admin support for deprecated Plan model.
  • Support for legacy webhooks (not stored in the database) has been removed.
  • Support APPEND_SLASH = False setting in the webhook config. You will need to update your Stripe webhook to remove the ending slash in such a configuration.

Version support

  • The minimum Stripe SDK version is now 8.0.0.
  • Support for Python versions older than 3.10 has been dropped.
  • Support for Django versions older than 4.2 has been dropped.
  • Support for EOL'd versions of Postgres and MariaDB has been dropped.
  • Added support for pure-python Psycopg 3 (psycopg) package

Deprecations

  • The setting DJSTRIPE_WEBHOOK_VALIDATION has been deprecated in favour of the new djstripe_validation_method field on the WebhookEndpoint model. You may configure it through the admin panel on a per-endpoint basis.

Bugfixes

  • Assorted fixes to Stripe Identity support
  • Fix TaxId support for non-customer-linked Tax IDs
  • Fix issue processing Refund objects for connected accounts
  • Default webhook endpoint version to the configured setting
  • Fix crash when syncing an invoice with null discounts
  • Fix Subscription.reactivate() if plan is None
  • Fix long receipt numbers not being supported correctly

Other changes

  • A new stripe_data field has been added to all models. This field will contain a copy of all the data in the Stripe model, including a duplicated version of most fields. This has been done to offer forwards-compatibility with dj-stripe 3.0 which includes significant changes to the model structure, and removes the duplicated fields. If you are using specific SQL lookups into the djstripe models, we recommend updating those to look in the stripe_data JSON field to minimize future compatibility updates.
  • All enums are now set to 255 max length to fix forwards-compatibility issues.
  • Some superfluous and unused admin actions and filters have been removed.
  • Added individual tolerance configuration to database webhook.
  • The unique_together constraint on the Customer model has been removed as it was causing issues in certain setups. You may add it back via SQL if you do need it.
  • Removed a noisy check when configuring a custom stripe api version.
  • Removed default value of WebhookEndpoint.api_version