Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 6, 2025

Bumps stripe/stripe-php from 17.2.0 to 18.0.0.

Release notes

Sourced from stripe/stripe-php's releases.

v18.0.0

  • #1903 ⚠️ Add strongly typed EventNotifications We've overhauled how V2 Events are handled in the SDK! This approach should provide a lot more information at authoring and compile time, leading to more robust integrations. As part of this process, there are a number of changes to be aware of.

    • Added matching EventNotification classes for every v2 Event. For example, there's now a V1BillingMeterErrorReportTriggeredEventNotification to match the existing V1BillingMeterErrorReportTriggeredEvent. Each of these interfaces defines a fetchEvent() method to retrieve its corresponding event. For events with related objects, there's a fetchRelatedObject() method that performs the API call and casts the response to the correct type.
    • ⚠️ Rename function StripeClient->parseThinEvent to StripeClient->parseEventNotification and remove the ThinEvent class.
      • This function now returns a Stripe\V2\Core\EventNotification (which is the shared base class that all of the more specific Stripe\*EventNotifications classes share) instead of ThinEvent. When applicable, these event notifications will have the relatedObject property and a fetchRelatedObject() function. They also have a fetchEvent() method to retrieve their corresponding Stripe\Event\*Event instance.
      • If you parse an event the SDK doesn't have types for (e.g. it's newer than the SDK you're using), you'll get an instance of Stripe\Events\UnknownEventNotification instead of a more specific type. It has both the relatedObject property and the FetchRelatedObject() function (but they may be/return null)
    • ⚠️ removed the Util::json_decode_thin_event_object. Its functionality was folded into the new \Stripe\V2\EventNotification::fromJson method.
  • #1925 add version deprecation note to README

    • NOTE: we'll be dropping support for PHP 5.6, 7.0, and 7.1 in the next major version (March 2026). The README has been updated with a link to our new language version support policy
  • #1921 Update generated code

    • Change Invoice.id to be required.
  • #1923 Update generated code

    • Remove support for balance_report and payout_reconciliation_report on AccountSession.components and AccountSession.create().$params.component
  • #1920 Move V2.Event API resources to V2.Core.Events

    • ⚠️ Move all V2 Event-related resources (Event, RelatedObject, etc) from Stripe\V2 to Stripe\V2\Core. They now correctly match their API path and are in line with all other resources. To update your code:
    -Stripe\V2\Event
    +Stripe\V2\Core\Event
  • #1916 Add StripeContext object

    • Add the StripeContext class. Previously you could only send a string for stripe-context header.
    • ⚠️ Change EventNotification (formerly known as ThinEvent)'s context property from string to StripeContext
  • #1905 Added StripeContext, StripeAccount and StripeVersion to BaseStripeClientInterface

    • ⚠️ Add getter methods getStripeContext, getStripeVersion and getStripeAccount to BaseStripeClientInterface. Users with custom StripeClient that implement StripeClientInterface, StripeStreamingClientInterface or BaseStripeClientInterface will have to add implementations for these methods.
  • #1898 ⚠️ Build SDK w/ V2 OpenAPI spec

    • ⚠️ The delete methods for v2 APIs (the ones in the StripeClient.v2 namespace) now return a V2DeletedObject which has the id of the object that has been deleted and a string representing the type of the object that has been deleted.
    • the generated types of some properties in EventDestination changed from something: null|string to something?: string
  • #1900, #1912 Update generated code based on incoming API changes in the 2025-09-30.clover API version.

    • ⚠️ Remove support for link and pay_by_bank on PaymentMethod.update().$params
    • ⚠️ Remove support for coupon on Discount, PromotionCode.create().$params, and PromotionCode. Use Discount.source.coupon, PromotionCode.create().$params.promotion.code, and PromotionCode.promotion.code instead.
    • ⚠️ Remove support for values saturday and sunday from enum Account.settings.payouts.schedule.weekly_payout_days
    • ⚠️ Remove support for iterations on Invoice.create_preview().$params.schedule_detail.phase, SubscriptionSchedule.create().$params.phase, and SubscriptionSchedule.update().$params.phase
    • Add support for new value prevented on enum Dispute.status
    • Add support for new resource BalanceSettings
    • Add support for retrieve and update methods on resource BalanceSettings
    • Add support for new values external_request and unsupported_business_type on enums Account.future_requirements.errors[].code, Account.requirements.errors[].code, BankAccount.future_requirements.errors[].code, BankAccount.requirements.errors[].code, Capability.future_requirements.errors[].code, Capability.requirements.errors[].code, Person.future_requirements.errors[].code, and Person.requirements.errors[].code
    • Add support for source on Discount
    • Add support for mb_way_payments on Account.capabilities, Account.create().$params.capability, and Account.update().$params.capability
    • Add support for trial_update_behavior on BillingPortal.Configuration.features.subscription_update, BillingPortal\Configuration.create().$params.feature.subscription_update, and BillingPortal\Configuration.update().$params.feature.subscription_update
    • Add support for mb_way on Charge.payment_method_details, ConfirmationToken.create().$params.payment_method_datum, ConfirmationToken.payment_method_preview, PaymentIntent.confirm().$params.payment_method_datum, PaymentIntent.confirm().$params.payment_method_option, PaymentIntent.create().$params.payment_method_datum, PaymentIntent.create().$params.payment_method_option, PaymentIntent.payment_method_options, PaymentIntent.update().$params.payment_method_datum, PaymentIntent.update().$params.payment_method_option, PaymentMethod.create().$params, PaymentMethod, SetupIntent.confirm().$params.payment_method_datum, SetupIntent.create().$params.payment_method_datum, and SetupIntent.update().$params.payment_method_datum
    • Add support for branding_settings and name_collection on Checkout.Session and Checkout\Session.create().$params
    • Add support for excluded_payment_method_types on Checkout.Session, Checkout\Session.create().$params, PaymentIntent.confirm().$params, and PaymentIntent.update().$params
    • Add support for unit_label on Checkout\Session.create().$params.line_item.price_datum.product_datum, Invoice.add_lines().$params.line.price_datum.product_datum, Invoice.update_lines().$params.line.price_datum.product_datum, InvoiceLineItem.update().$params.price_datum.product_datum, and PaymentLink.create().$params.line_item.price_datum.product_datum
    • Add support for alma, billie, and satispay on Checkout.Session.payment_method_options and Checkout\Session.create().$params.payment_method_option
    • Add support for demo_pay on Checkout\Session.create().$params.payment_method_option
    • Add support for capture_method on Checkout.Session.payment_method_options.affirm, Checkout.Session.payment_method_options.afterpay_clearpay, Checkout.Session.payment_method_options.amazon_pay, Checkout.Session.payment_method_options.card, Checkout.Session.payment_method_options.cashapp, Checkout.Session.payment_method_options.klarna, Checkout.Session.payment_method_options.link, Checkout.Session.payment_method_options.mobilepay, Checkout.Session.payment_method_options.revolut_pay, Checkout\Session.create().$params.payment_method_option.affirm, Checkout\Session.create().$params.payment_method_option.afterpay_clearpay, Checkout\Session.create().$params.payment_method_option.amazon_pay, Checkout\Session.create().$params.payment_method_option.card, Checkout\Session.create().$params.payment_method_option.cashapp, Checkout\Session.create().$params.payment_method_option.klarna, Checkout\Session.create().$params.payment_method_option.link, Checkout\Session.create().$params.payment_method_option.mobilepay, and Checkout\Session.create().$params.payment_method_option.revolut_pay
    • Add support for flexible on Checkout\Session.create().$params.subscription_datum.billing_mode, Invoice.create_preview().$params.schedule_detail.billing_mode, Invoice.create_preview().$params.subscription_detail.billing_mode, Quote.create().$params.subscription_datum.billing_mode, Quote.subscription_data.billing_mode, Subscription.billing_mode, Subscription.create().$params.billing_mode, Subscription.migrate().$params.billing_mode, SubscriptionSchedule.billing_mode, and SubscriptionSchedule.create().$params.billing_mode
    • Add support for business_name and individual_name on Checkout.Session.collected_information, Checkout.Session.customer_details, Customer.create().$params, Customer.update().$params, and Customer

... (truncated)

Changelog

Sourced from stripe/stripe-php's changelog.

18.0.0 - 2025-09-30

  • #1903 ⚠️ Add strongly typed EventNotifications We've overhauled how V2 Events are handled in the SDK! This approach should provide a lot more information at authoring and compile time, leading to more robust integrations. As part of this process, there are a number of changes to be aware of.

    • Added matching EventNotification classes for every v2 Event. For example, there's now a V1BillingMeterErrorReportTriggeredEventNotification to match the existing V1BillingMeterErrorReportTriggeredEvent. Each of these interfaces defines a fetchEvent() method to retrieve its corresponding event. For events with related objects, there's a fetchRelatedObject() method that performs the API call and casts the response to the correct type.
    • ⚠️ Rename function StripeClient->parseThinEvent to StripeClient->parseEventNotification and remove the ThinEvent class.
      • This function now returns a Stripe\V2\Core\EventNotification (which is the shared base class that all of the more specific Stripe\*EventNotifications classes share) instead of ThinEvent. When applicable, these event notifications will have the relatedObject property and a fetchRelatedObject() function. They also have a fetchEvent() method to retrieve their corresponding Stripe\Event\*Event instance.
      • If you parse an event the SDK doesn't have types for (e.g. it's newer than the SDK you're using), you'll get an instance of Stripe\Events\UnknownEventNotification instead of a more specific type. It has both the relatedObject property and the FetchRelatedObject() function (but they may be/return null)
    • ⚠️ removed the Util::json_decode_thin_event_object. Its functionality was folded into the new \Stripe\V2\EventNotification::fromJson method.
  • #1925 add version deprecation note to README

    • NOTE: we'll be dropping support for PHP 5.6, 7.0, and 7.1 in the next major version (March 2026). The README has been updated with a link to our new language version support policy
  • #1921 Update generated code

    • Change Invoice.id to be required.
  • #1923 Update generated code

    • Remove support for balance_report and payout_reconciliation_report on AccountSession.components and AccountSession.create().$params.component
  • #1920 Move V2.Event API resources to V2.Core.Events

    • ⚠️ Move all V2 Event-related resources (Event, RelatedObject, etc) from Stripe\V2 to Stripe\V2\Core. They now correctly match their API path and are in line with all other resources. To update your code:
    -Stripe\V2\Event
    +Stripe\V2\Core\Event
  • #1916 Add StripeContext object

    • Add the StripeContext class. Previously you could only send a string for stripe-context header.
    • ⚠️ Change EventNotification (formerly known as ThinEvent)'s context property from string to StripeContext
  • #1905 Added StripeContext, StripeAccount and StripeVersion to BaseStripeClientInterface

    • ⚠️ Add getter methods getStripeContext, getStripeVersion and getStripeAccount to BaseStripeClientInterface. Users with custom StripeClient that implement StripeClientInterface, StripeStreamingClientInterface or BaseStripeClientInterface will have to add implementations for these methods.
  • #1898 ⚠️ Build SDK w/ V2 OpenAPI spec

    • ⚠️ The delete methods for v2 APIs (the ones in the StripeClient.v2 namespace) now return a V2DeletedObject which has the id of the object that has been deleted and a string representing the type of the object that has been deleted.
    • the generated types of some properties in EventDestination changed from something: null|string to something?: string
  • #1900, #1912 Update generated code based on incoming API changes in the 2025-09-30.clover API version.

    • ⚠️ Remove support for link and pay_by_bank on PaymentMethod.update().$params
    • ⚠️ Remove support for coupon on Discount, PromotionCode.create().$params, and PromotionCode. Use Discount.source.coupon, PromotionCode.create().$params.promotion.code, and PromotionCode.promotion.code instead.
    • ⚠️ Remove support for values saturday and sunday from enum Account.settings.payouts.schedule.weekly_payout_days
    • ⚠️ Remove support for iterations on Invoice.create_preview().$params.schedule_detail.phase, SubscriptionSchedule.create().$params.phase, and SubscriptionSchedule.update().$params.phase
    • Add support for new value prevented on enum Dispute.status
    • Add support for new resource BalanceSettings
    • Add support for retrieve and update methods on resource BalanceSettings
    • Add support for new values external_request and unsupported_business_type on enums Account.future_requirements.errors[].code, Account.requirements.errors[].code, BankAccount.future_requirements.errors[].code, BankAccount.requirements.errors[].code, Capability.future_requirements.errors[].code, Capability.requirements.errors[].code, Person.future_requirements.errors[].code, and Person.requirements.errors[].code
    • Add support for source on Discount
    • Add support for mb_way_payments on Account.capabilities, Account.create().$params.capability, and Account.update().$params.capability
    • Add support for trial_update_behavior on BillingPortal.Configuration.features.subscription_update, BillingPortal\Configuration.create().$params.feature.subscription_update, and BillingPortal\Configuration.update().$params.feature.subscription_update
    • Add support for mb_way on Charge.payment_method_details, ConfirmationToken.create().$params.payment_method_datum, ConfirmationToken.payment_method_preview, PaymentIntent.confirm().$params.payment_method_datum, PaymentIntent.confirm().$params.payment_method_option, PaymentIntent.create().$params.payment_method_datum, PaymentIntent.create().$params.payment_method_option, PaymentIntent.payment_method_options, PaymentIntent.update().$params.payment_method_datum, PaymentIntent.update().$params.payment_method_option, PaymentMethod.create().$params, PaymentMethod, SetupIntent.confirm().$params.payment_method_datum, SetupIntent.create().$params.payment_method_datum, and SetupIntent.update().$params.payment_method_datum
    • Add support for branding_settings and name_collection on Checkout.Session and Checkout\Session.create().$params
    • Add support for excluded_payment_method_types on Checkout.Session, Checkout\Session.create().$params, PaymentIntent.confirm().$params, and PaymentIntent.update().$params
    • Add support for unit_label on Checkout\Session.create().$params.line_item.price_datum.product_datum, Invoice.add_lines().$params.line.price_datum.product_datum, Invoice.update_lines().$params.line.price_datum.product_datum, InvoiceLineItem.update().$params.price_datum.product_datum, and PaymentLink.create().$params.line_item.price_datum.product_datum
    • Add support for alma, billie, and satispay on Checkout.Session.payment_method_options and Checkout\Session.create().$params.payment_method_option
    • Add support for demo_pay on Checkout\Session.create().$params.payment_method_option
    • Add support for capture_method on Checkout.Session.payment_method_options.affirm, Checkout.Session.payment_method_options.afterpay_clearpay, Checkout.Session.payment_method_options.amazon_pay, Checkout.Session.payment_method_options.card, Checkout.Session.payment_method_options.cashapp, Checkout.Session.payment_method_options.klarna, Checkout.Session.payment_method_options.link, Checkout.Session.payment_method_options.mobilepay, Checkout.Session.payment_method_options.revolut_pay, Checkout\Session.create().$params.payment_method_option.affirm, Checkout\Session.create().$params.payment_method_option.afterpay_clearpay, Checkout\Session.create().$params.payment_method_option.amazon_pay, Checkout\Session.create().$params.payment_method_option.card, Checkout\Session.create().$params.payment_method_option.cashapp, Checkout\Session.create().$params.payment_method_option.klarna, Checkout\Session.create().$params.payment_method_option.link, Checkout\Session.create().$params.payment_method_option.mobilepay, and Checkout\Session.create().$params.payment_method_option.revolut_pay
    • Add support for flexible on Checkout\Session.create().$params.subscription_datum.billing_mode, Invoice.create_preview().$params.schedule_detail.billing_mode, Invoice.create_preview().$params.subscription_detail.billing_mode, Quote.create().$params.subscription_datum.billing_mode, Quote.subscription_data.billing_mode, Subscription.billing_mode, Subscription.create().$params.billing_mode, Subscription.migrate().$params.billing_mode, SubscriptionSchedule.billing_mode, and SubscriptionSchedule.create().$params.billing_mode
    • Add support for business_name and individual_name on Checkout.Session.collected_information, Checkout.Session.customer_details, Customer.create().$params, Customer.update().$params, and Customer

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [stripe/stripe-php](https://github.com/stripe/stripe-php) from 17.2.0 to 18.0.0.
- [Release notes](https://github.com/stripe/stripe-php/releases)
- [Changelog](https://github.com/stripe/stripe-php/blob/master/CHANGELOG.md)
- [Commits](stripe/stripe-php@v17.2.0...v18.0.0)

---
updated-dependencies:
- dependency-name: stripe/stripe-php
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file php Pull requests that update php code labels Oct 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file php Pull requests that update php code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants