-
#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 v2Event
. For example, there's now aV1BillingMeterErrorReportTriggeredEventNotification
to match the existingV1BillingMeterErrorReportTriggeredEvent
. Each of these interfaces defines afetchEvent()
method to retrieve its corresponding event. For events with related objects, there's afetchRelatedObject()
method that performs the API call and casts the response to the correct type. - ⚠️ Rename function
StripeClient->parseThinEvent
toStripeClient->parseEventNotification
and remove theThinEvent
class.- This function now returns a
Stripe\V2\Core\EventNotification
(which is the shared base class that all of the more specificStripe\*EventNotifications
classes share) instead ofThinEvent
. When applicable, these event notifications will have therelatedObject
property and afetchRelatedObject()
function. They also have afetchEvent()
method to retrieve their correspondingStripe\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 therelatedObject
property and theFetchRelatedObject()
function (but they may be/returnnull
)
- This function now returns a
- ⚠️ removed the
Util::json_decode_thin_event_object
. Its functionality was folded into the new\Stripe\V2\EventNotification::fromJson
method.
- Added matching
-
#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.
- Change
-
#1923 Update generated code
- Remove support for
balance_report
andpayout_reconciliation_report
onAccountSession.components
andAccountSession.create().$params.component
- Remove support for
-
#1920 Move
V2.Event
API resources toV2.Core.Events
- ⚠️ Move all V2 Event-related resources (
Event
,RelatedObject
, etc) fromStripe\V2
toStripe\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
- ⚠️ Move all V2 Event-related resources (
-
#1916 Add
StripeContext
object- Add the
StripeContext
class. Previously you could only send a string forstripe-context
header. - ⚠️ Change
EventNotification
(formerly known asThinEvent
)'scontext
property fromstring
toStripeContext
- Add the
-
#1905 Added StripeContext, StripeAccount and StripeVersion to BaseStripeClientInterface
- ⚠️ Add getter methods
getStripeContext
,getStripeVersion
andgetStripeAccount
toBaseStripeClientInterface
. Users with custom StripeClient that implementStripeClientInterface
,StripeStreamingClientInterface
orBaseStripeClientInterface
will have to add implementations for these methods.
- ⚠️ Add getter methods
-
#1898 ⚠️ Build SDK w/ V2 OpenAPI spec
- ⚠️ The delete methods for v2 APIs (the ones in the
StripeClient.v2
namespace) now return aV2DeletedObject
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 fromsomething: null|string
tosomething?: string
- ⚠️ The delete methods for v2 APIs (the ones in the
-
#1900, #1912 Update generated code based on incoming API changes in the
2025-09-30.clover
API version.- ⚠️ Remove support for
link
andpay_by_bank
onPaymentMethod.update().$params
- ⚠️ Remove support for
coupon
onDiscount
,PromotionCode.create().$params
, andPromotionCode
. UseDiscount.source.coupon
,PromotionCode.create().$params.promotion.code
, andPromotionCode.promotion.code
instead. - ⚠️ Remove support for values
saturday
andsunday
from enumAccount.settings.payouts.schedule.weekly_payout_days
- ⚠️ Remove support for
iterations
onInvoice.create_preview().$params.schedule_detail.phase
,SubscriptionSchedule.create().$params.phase
, andSubscriptionSchedule.update().$params.phase
- Add support for new value
prevented
on enumDispute.status
- Add support for new resource
BalanceSettings
- Add support for
retrieve
andupdate
methods on resourceBalanceSettings
- Add support for new values
external_request
andunsupported_business_type
on enumsAccount.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
, andPerson.requirements.errors[].code
- Add support for
source
onDiscount
- Add support for
mb_way_payments
onAccount.capabilities
,Account.create().$params.capability
, andAccount.update().$params.capability
- Add support for
trial_update_behavior
onBillingPortal.Configuration.features.subscription_update
,BillingPortal\Configuration.create().$params.feature.subscription_update
, andBillingPortal\Configuration.update().$params.feature.subscription_update
- Add support for
mb_way
onCharge.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
, andSetupIntent.update().$params.payment_method_datum
- Add support for
branding_settings
andname_collection
onCheckout.Session
andCheckout\Session.create().$params
- Add support for
excluded_payment_method_types
onCheckout.Session
,Checkout\Session.create().$params
,PaymentIntent.confirm().$params
, andPaymentIntent.update().$params
- Add support for
unit_label
onCheckout\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
, andPaymentLink.create().$params.line_item.price_datum.product_datum
- Add support for
alma
,billie
, andsatispay
onCheckout.Session.payment_method_options
andCheckout\Session.create().$params.payment_method_option
- Add support for
demo_pay
onCheckout\Session.create().$params.payment_method_option
- Add support for
capture_method
onCheckout.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
, andCheckout\Session.create().$params.payment_method_option.revolut_pay
- Add support for
flexible
onCheckout\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
, andSubscriptionSchedule.create().$params.billing_mode
- Add support for
business_name
andindividual_name
onCheckout.Session.collected_information
,Checkout.Session.customer_details
,Customer.create().$params
,Customer.update().$params
, andCustomer
- Add support for new values
mb_way
on enumsConfirmationToken.payment_method_preview.type
andPaymentMethod.type
- Add support for
chargeback_loss_reason_code
onDispute.payment_method_details.klarna
- Add support for
net_amount
andproration_details
onInvoiceItem
- Add support for
fraud_disputability_likelihood
andrisk_assessment
onIssuing\Authorization.create().$params
- Add support for
second_line
onIssuing.Card
- Add support for new values
mb_way
on enumPaymentIntent.excluded_payment_method_types
- Add support for
fr_meal_voucher_conecs
onPaymentMethodConfiguration.create().$params
andPaymentMethodConfiguration.update().$params
- Add support for
promotion
onPromotionCode.create().$params
andPromotionCode
- Add support for new values
acknowledged
andpayment_never_settled
on enumReview.closed_reason
- Add support for
provider
onTax.Settings.defaults
- Add support for
bbpos_wisepad3
onTerminal.Configuration
,Terminal\Configuration.create().$params
, andTerminal\Configuration.update().$params
- Add support for
address_kana
,address_kanji
,display_name_kana
,display_name_kanji
, andphone
onTerminal.Location
,Terminal\Location.create().$params
, andTerminal\Location.update().$params
- Change
Terminal\Location.create().$params.address
to be optional - Change
Terminal\Location.create().$params.display_name
to be optional - Add support for error codes
financial_connections_account_pending_account_numbers
andfinancial_connections_account_unavailable_account_numbers
onInvoice.last_finalization_error
,PaymentIntent.last_payment_error
,SetupAttempt.setup_error
,SetupIntent.last_setup_error
, andStripeError
- ⚠️ Remove support for