Upgrading stripe 11 to 12
Breaking11.6.1 → 12.5.2Breaking114Deprecated2New274Changed20Fixed5Other7
Fetching 20 releases from GitHub…19 / 20
BreakingUpgrade verdict
112 breaking changes.
In plain terms
- Removes support for monthly_anchor and weekly_anchor on BalanceSettings payout schedule params and objects.
- Removes support for delay_days on BalanceSettings.ModifyParamsSettlementTiming.
- Removes support for thin event V2CoreAccountLinkCompletedEvent.
- Removes support for thin event V2OffSessionPaymentRequiresCaptureEvent with related object v2.payments.OffSessionPayment.
Must act Top 5 of 114 that need code or config changes
What you must change
Breaking112
Removes support for monthly_anchor and weekly_anchor on BalanceSettings payout schedule params and objects.
BalanceSettings.ModifyParamsPayoutScheduleBalanceSettings.Payout.Schedulemonthly_anchorweekly_anchorRemoves support for delay_days on BalanceSettings.ModifyParamsSettlementTiming.
BalanceSettings.ModifyParamsSettlementTimingdelay_daysRemoves support for thin event V2CoreAccountLinkCompletedEvent.
V2CoreAccountLinkCompletedEventRemoves support for thin event V2OffSessionPaymentRequiresCaptureEvent with related object v2.payments.OffSessionPayment.
V2OffSessionPaymentRequiresCaptureEventv2.payments.OffSessionPaymentRemoves support for value
disabled from enum Capability.status.Capability.statusRemoves support for billing_mode_details on Subscription.
Subscription.billing_mode_detailsRemoves support for
description on V2.MoneyManagement.FinancialAccount.V2.MoneyManagement.FinancialAccountRemoves support for
attempts on V2.Payments.OffSessionPayment.V2.Payments.OffSessionPaymentRemoves support for error code
outbound_payment_recipient_feature_not_active on FeatureNotEnabledError.FeatureNotEnabledErroroutbound_payment_recipient_feature_not_activeRemoves support for error codes
outbound_payment_insufficient_funds and outbound_transfer_insufficient_funds on InsufficientFundsError.InsufficientFundsErroroutbound_payment_insufficient_fundsoutbound_transfer_insufficient_fundsRemoves support for error codes
outbound_payment_recipient_amount_limit_exceeded and outbound_payment_recipient_count_limit_exceeded on QuotaExceededError.QuotaExceededErroroutbound_payment_recipient_amount_limit_exceededoutbound_payment_recipient_count_limit_exceededrecipient_amount_limit_exceededrecipient_count_limit_exceededRemoves support for error code
outbound_payment_recipient_email_does_not_exist on RecipientNotNotifiableError.RecipientNotNotifiableErroroutbound_payment_recipient_email_does_not_existrecipient_email_does_not_existRemoves support for deprecated previews, including several resources and methods.
billing.MeterErrorReportgift_cards.Cardgift_cards.Transactionprivacy.RedactionJobRootObjectsRemoves create, list, modify, retrieve, and validate methods on resource gift_cards.Card.
gift_cards.CardRemoves cancel, confirm, create, list, modify, and retrieve methods on resource gift_cards.Transaction.
gift_cards.TransactionRemoves support for provisioning on Product.CreateParams and Product.
Product.CreateParamsProductRemoves support for snapshot event billing.meter_error_report.triggered with resource billing.MeterErrorReport.
billing.meter_error_report.triggeredbilling.MeterErrorReportRemoves error codes gift_card_balance_insufficient, gift_card_code_exists, and gift_card_inactive from QuotePreviewInvoice.LastFinalizationError and StripeError.
QuotePreviewInvoice.LastFinalizationErrorStripeErrorRemoves values credits_attributed_to_debits and legacy_prorations from billing_mode enums across Invoice, Quote, Subscription, SubscriptionSchedule, and checkout.Session params.
Invoice.CreatePreviewParamsScheduleDetail.billing_modeInvoice.CreatePreviewParamsSubscriptionDetail.billing_modeQuote.CreateParamsSubscriptionDatum.billing_modeQuote.SubscriptionDatum.billing_modeQuotePreviewSubscriptionSchedule.billing_modeSubscription.CreateParams.billing_modeSubscription.billing_modeSubscriptionSchedule.CreateParams.billing_modeRemoves support for credits on Order.CreateParams, Order.ModifyParams, and Order.
Order.CreateParamsOrder.ModifyParamsOrderRemoves support for amount_remaining on Order.
OrderRemoves support for amount_credit on Order.TotalDetail.
Order.TotalDetailRemoves support for async_workflows on PaymentIntent params and PaymentIntent.
PaymentIntent.CaptureParamsPaymentIntent.ConfirmParamsPaymentIntent.CreateParamsPaymentIntent.DecrementAuthorizationParamsPaymentIntent.IncrementAuthorizationParamsPaymentIntent.ModifyParamsPaymentIntentRemoves support for status_details and status on Tax.Association.
Tax.AssociationRemoves support for the attach_payment_intent method on resource Invoice.
Invoice.attach_payment_intentRemoves enum values bank_accounts.local_uk, bank_accounts.wire_uk, cards_uk, and crypto_wallets_v2 from updated_capability.
EventsV2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEvent.updated_capabilityRemoves support for
AmountOverpaid on InvoicePayment.InvoicePayment.AmountOverpaidRemoves enum values
out_of_band_payment and payment_record from InvoicePayment.Payment.type.InvoicePayment.Payment.typeRemoves support for
RateCardSubscriptionDetails on InvoiceItemParent.InvoiceItemParent.RateCardSubscriptionDetailsRemoves support for
ApplicationFeeAmount, PaidOutOfBand, and Paid on QuotePreviewInvoice.QuotePreviewInvoice.ApplicationFeeAmountQuotePreviewInvoice.PaidOutOfBandQuotePreviewInvoice.PaidRemoves support for
billing_thresholds on several QuotePreviewSubscriptionSchedule types.QuotePreviewSubscriptionSchedule.DefaultSetting.billing_thresholdsQuotePreviewSubscriptionSchedule.Phase.Item.billing_thresholdsQuotePreviewSubscriptionSchedule.Phase.billing_thresholdsRemoves support for
coupon on QuotePreviewSubscriptionSchedule.Phase.QuotePreviewSubscriptionSchedule.Phase.couponRemoves support for resources SubscriptionItemUsageRecordSummary and SubscriptionItemUsageRecord.
SubscriptionItemUsageRecordSummarySubscriptionItemUsageRecordRemoves support for the create method on resource SubscriptionItemUsageRecord.
SubscriptionItemUsageRecord.createRemoves support for the list method on resource SubscriptionItemUsageRecordSummary.
SubscriptionItemUsageRecordSummary.listRemoves support for the upcomingLines and upcoming methods on resource Invoice.
Invoice.upcomingLinesInvoice.upcomingRemoves support for invoice on Charge and PaymentIntent.
Charge.invoicePaymentIntent.invoiceRemoves support for shipping_details on CheckoutSession.
CheckoutSession.shipping_detailsRemoves support for carrier, phone, and tracking_number on CheckoutSession.CollectedInformation.ShippingDetail.
CheckoutSession.CollectedInformation.ShippingDetail.carrierCheckoutSession.CollectedInformation.ShippingDetail.phoneCheckoutSession.CollectedInformation.ShippingDetail.tracking_numberRemoves support for refund on CreditNote create and preview params, CreditNotePreviewLines list params, and CreditNote.
CreditNote.CreateParams.refundCreditNote.PreviewParams.refundCreditNotePreviewLines.ListParams.refundCreditNote.refundRemoves support for tax_amounts on CreditNoteLineItem, CreditNote, and InvoiceLineItem.
CreditNoteLineItem.tax_amountsCreditNote.tax_amountsInvoiceLineItem.tax_amountsRemoves support for amount_excluding_tax and unit_amount_excluding_tax on CreditNoteLineItem and InvoiceLineItem.
CreditNoteLineItem.amount_excluding_taxCreditNoteLineItem.unit_amount_excluding_taxInvoiceLineItem.amount_excluding_taxInvoiceLineItem.unit_amount_excluding_taxRemoves support for coupon on Customer, Invoice preview, Subscription, and SubscriptionSchedule params and resources.
Customer.CreateParams.couponCustomer.UpdateParams.couponInvoice.CreatePreviewParamsScheduleDetailPhase.couponInvoice.CreatePreviewParams.couponSubscription.CreateParams.couponSubscription.UpdateParams.couponSubscriptionSchedule.CreateParamsPhase.couponSubscriptionSchedule.Phase.couponRemoves support for promotion_code on Customer and Subscription create and update params.
Customer.CreateParams.promotion_codeCustomer.UpdateParams.promotion_codeSubscription.CreateParams.promotion_codeSubscription.UpdateParams.promotion_codeRemoves support for price on Invoice line params, InvoiceItem params and resource, and InvoiceLineItem.
Invoice.AddLinesParamsLine.priceInvoice.UpdateLinesParamsLine.priceInvoiceItem.CreateParams.priceInvoiceItem.UpdateParams.priceInvoiceItem.priceInvoiceLineItem.UpdateParams.priceInvoiceLineItem.priceRemoves support for billing_thresholds across Invoice, Subscription, SubscriptionItem, and SubscriptionSchedule params and resources.
Invoice.CreatePreviewParamsScheduleDetailPhaseItem.billing_thresholdsSubscription.CreateParams.billing_thresholdsSubscription.UpdateParams.billing_thresholdsSubscriptionItem.billing_thresholdsSubscriptionSchedule.DefaultSetting.billing_thresholdsSubscriptionSchedule.Phase.billing_thresholdsSubscription.billing_thresholdsRemoves support for many Invoice fields including application_fee_amount, charge, payment_intent, subscription, tax, and transfer_data.
Invoice.application_fee_amountInvoice.chargeInvoice.payment_intentInvoice.subscriptionInvoice.taxInvoice.transfer_dataRemoves support for discount on Invoice and Subscription.
Invoice.discountSubscription.discountRemoves support for invoice_item, proration_details, proration, tax_rates, and type on InvoiceLineItem.
InvoiceLineItem.invoice_itemInvoiceLineItem.proration_detailsInvoiceLineItem.prorationInvoiceLineItem.tax_ratesInvoiceLineItem.typeRemoves support for plan and subscription_item on InvoiceItem and InvoiceLineItem.
InvoiceItem.planInvoiceItem.subscription_itemInvoiceLineItem.planInvoiceLineItem.subscription_itemRemoves support for unit_amount on InvoiceItem create and update params and resource.
InvoiceItem.CreateParams.unit_amountInvoiceItem.UpdateParams.unit_amountInvoiceItem.unit_amountRemoves support for subscription and unit_amount_decimal on InvoiceItem.
InvoiceItem.subscriptionInvoiceItem.unit_amount_decimalRemoves support for naver_pay on PaymentMethod.UpdateParams.
PaymentMethod.UpdateParams.naver_payRemoves support for aggregate_usage on Plan and Price recurring params and resources.
Plan.CreateParams.aggregate_usagePlan.aggregate_usagePrice.CreateParamsRecurring.aggregate_usagePrice.Recurring.aggregate_usageRemoves support for current_period_end and current_period_start on Subscription.
Subscription.current_period_endSubscription.current_period_startRemoves support for page on v2.Event.ListParams and v2.EventDestination.ListParams.
v2.Event.ListParams.pagev2.EventDestination.ListParams.pageUpdates generated code and pins the API version to 2025-08-27.basil.
Changes the pinned API version to 2025-07-30.preview.
Changes configurations type on V2 Core AccountLink use case objects and params from literal('recipient') to enum('customer'|'merchant'|'recipient'|'storer').
V2.Core.AccountLink.UseCase.AccountOnboarding.configurationsV2.Core.AccountLink.UseCase.AccountUpdate.configurationsv2.core.AccountLink.CreateParamsUseCaseAccountOnboarding.configurationsv2.core.AccountLink.CreateParamsUseCaseAccountUpdate.configurationsMakes
Identity.VerificationSession.RelatedPerson.account required.Identity.VerificationSession.RelatedPerson.accountMakes
Identity.VerificationSession.RelatedPerson.person required.Identity.VerificationSession.RelatedPerson.personChanges type of
cancel_at params from DateTime to DateTime | enum('max_period_end'|'min_period_end').Invoice.CreatePreviewParamsSubscriptionDetail.cancel_atSubscription.CreateParams.cancel_atSubscription.ModifyParams.cancel_atChanges billing_mode type from enum('classic'|'flexible') to billing_mode on Invoice, Quote, Subscription, SubscriptionSchedule and checkout.Session create params.
Invoice.CreatePreviewParamsScheduleDetail.billing_modeInvoice.CreatePreviewParamsSubscriptionDetail.billing_modeQuote.CreateParamsSubscriptionDatum.billing_modeQuote.SubscriptionDatum.billing_modeSubscription.CreateParams.billing_modeSubscriptionSchedule.CreateParams.billing_modecheckout.Session.CreateParamsSubscriptionDatum.billing_modeChanges Klarna setup_future_usage from literal('none') to enum('none'|'off_session'|'on_session') on Order params and payment settings.
Order.CreateParamsPaymentSettingPaymentMethodOptionKlarna.setup_future_usageOrder.ModifyParamsPaymentSettingPaymentMethodOptionKlarna.setup_future_usageOrder.Payment.Setting.PaymentMethodOption.Klarna.setup_future_usageChanges GoPay setup_future_usage from literal('none') to enum('none'|'off_session') on PaymentIntent params and payment method options.
PaymentIntent.ConfirmParamsPaymentMethodOptionGopay.setup_future_usagePaymentIntent.CreateParamsPaymentMethodOptionGopay.setup_future_usagePaymentIntent.ModifyParamsPaymentMethodOptionGopay.setup_future_usagePaymentIntent.PaymentMethodOption.Gopay.setup_future_usageMakes billing_mode required on Quote.SubscriptionDatum, QuotePreviewSubscriptionSchedule, Subscription and SubscriptionSchedule.
Quote.SubscriptionDatum.billing_modeQuotePreviewSubscriptionSchedule.billing_modeSubscription.billing_modeSubscriptionSchedule.billing_modeChanges billing_mode type from enum('classic'|'flexible') to SubscriptionsResourceBillingMode on QuotePreviewSubscriptionSchedule, Subscription and SubscriptionSchedule.
QuotePreviewSubscriptionSchedule.billing_modeSubscription.billing_modeSubscriptionSchedule.billing_modeSubscriptionsResourceBillingModeChanges Subscription.MigrateParams.billing_mode type from literal('flexible') to billing_mode_migrate.
Subscription.MigrateParams.billing_modebilling_mode_migrateChanges type of
V2.Payments.OffSessionPayment.TransferDatum.amount from integer to nullable(integer).V2.Payments.OffSessionPayment.TransferDatum.amountChanges type of
V2.MoneyManagement.ReceivedCredit.BalanceTransfer.type from literal('payout_v1') to enum('outbound_payment'|'outbound_transfer'|'payout_v1').V2.MoneyManagement.ReceivedCredit.BalanceTransfer.typeChanges type of
V2.MoneyManagement.ReceivedCredit.BalanceTransfer.payout_v1 from string to nullable(string).V2.MoneyManagement.ReceivedCredit.BalanceTransfer.payout_v1Changes
v2.payments.OffSessionPayment.CreateParamsTransferDatum.amount to be optional.v2.payments.OffSessionPayment.CreateParamsTransferDatum.amountMakes Account.Setting.Invoice.hosted_payment_method_save required.
Account.Setting.Invoice.hosted_payment_method_saveWidens installment plan type from literal fixed_count to enum bonus, fixed_count, or revolving.
Charge.PaymentMethodDetail.Card.Installment.Plan.typeConfirmationToken.PaymentMethodOption.Card.Installment.Plan.typePaymentIntent.PaymentMethodOption.Card.Installment.Plan.typePaymentIntent.PaymentMethodOption.Card.Installment.AvailablePlan.typeWidens Dispute.enhanced_eligibility_types from literal visa_compelling_evidence_3 to enum including visa_compliance.
Dispute.enhanced_eligibility_typesChanges
setup_future_usage on Klarna payment method options from literal('none') to enum('none'|'off_session'|'on_session').PaymentIntent.ConfirmParamsPaymentMethodOptionKlarna.setup_future_usagePaymentIntent.CreateParamsPaymentMethodOptionKlarna.setup_future_usagePaymentIntent.ModifyParamsPaymentMethodOptionKlarna.setup_future_usagePaymentIntent.PaymentMethodOption.Klarna.setup_future_usageChanges type of
terminal.Location.ModifyParams.display_name from string to emptyable(string).terminal.Location.ModifyParams.display_nameChanges type of checkout.Session.ModifyParamsLineItem.quantity from emptyable(longInteger) to longInteger.
checkout.Session.ModifyParamsLineItem.quantityMakes CreditNote.post_payment_amount required.
CreditNote.post_payment_amountMakes CreditNote.pre_payment_amount required.
CreditNote.pre_payment_amountChanges type of PaymentAttemptRecord.metadata and PaymentRecord.metadata from nullable(map(string: string)) to map(string: string).
PaymentAttemptRecord.metadataPaymentRecord.metadataChanges type of PaymentRecord report params metadata fields from map(string: string) to emptyable(map(string: string)).
PaymentRecord.ReportPaymentAttemptCanceledParams.metadataPaymentRecord.ReportPaymentAttemptFailedParams.metadataPaymentRecord.ReportPaymentAttemptGuaranteedParams.metadataPaymentRecord.ReportPaymentAttemptParams.metadataPaymentRecord.ReportPaymentParams.metadataChanges type of Privacy.RedactionJob.objects from $Privacy.RedactionJobRootObjects to RedactionResourceRootObjects.
Privacy.RedactionJob.objectsRedactionResourceRootObjectsChanges type of Privacy.RedactionJob.status from string to enum.
Privacy.RedactionJob.statusChanges type of Privacy.RedactionJob.validation_behavior from string to enum('error'|'fix').
Privacy.RedactionJob.validation_behaviorChanges type of Privacy.RedactionJobValidationError.code from string to enum.
Privacy.RedactionJobValidationError.codeChanges type of Privacy.RedactionJobValidationError.erroring_object from map(string: string) to RedactionResourceErroringObject.
Privacy.RedactionJobValidationError.erroring_objectRedactionResourceErroringObjectChanges type of
cancel_at on invoice preview and subscription params from DateTime to DateTime | enum('max_period_end'|'min_period_end').Invoice.CreatePreviewParamsSubscriptionDetail.cancel_atSubscription.CreateParams.cancel_atSubscription.ModifyParams.cancel_atMakes billing.Alert.CreateParamsUsageThreshold.meter required.
billing.Alert.CreateParamsUsageThreshold.meterMakes NaverPay buyer_id required on ConfirmationToken.PaymentMethodPreview and PaymentMethod.
ConfirmationToken.PaymentMethodPreview.NaverPay.buyer_idPaymentMethod.NaverPay.buyer_idChanges the pinned API version to 2025-04-30.preview.
Makes
AutomaticTax.provider required on Checkout Session, Invoice, Quote, and QuotePreviewInvoice.Checkout.Session.AutomaticTax.providerInvoice.AutomaticTax.providerQuote.AutomaticTax.providerQuotePreviewInvoice.AutomaticTax.providerChanges
InvoiceLineItem.Parent.SubscriptionItemDetail.subscription from string to nullable(string).InvoiceLineItem.Parent.SubscriptionItemDetail.subscriptionChanges InvoiceLineItem subscription field type from string to nullable(string).
InvoiceLineItem.Parent.SubscriptionItemDetail.subscriptionChanges the type of Tax.CalculationLineItem.reference from nullable(string) to string.
Tax.CalculationLineItem.referenceChanges type of V2MoneyManagementReceivedDebit.status_transitions from an object to nullable(an object).
V2MoneyManagementReceivedDebit.status_transitionsChanges
QuotePreviewInvoice.Parent.SubscriptionDetail.subscription from string to expandable($Subscription).QuotePreviewInvoice.Parent.SubscriptionDetail.subscriptionChanges
CheckoutSession.Permission.update to be optional.CheckoutSession.Permission.updateChanges
PaymentMethodDetail.type from literal('custom') to string on payment attempt and payment records.PaymentAttemptRecord.PaymentMethodDetail.typePaymentRecord.PaymentMethodDetail.typeChanges
PaymentAttemptRecord.payment_record from string to nullable(string).PaymentAttemptRecord.payment_recordMakes PaymentMethodDetail.custom non-nullable on PaymentAttemptRecord and PaymentRecord.
PaymentAttemptRecord.PaymentMethodDetail.customPaymentRecord.PaymentMethodDetail.customPaymentsPrimitivesPaymentRecordsResourcePaymentMethodCustomDetailsChanges
PaymentRecord.latest_payment_attempt_record from string to nullable(string).PaymentRecord.latest_payment_attempt_recordChanges WeChat Pay
client to be optional on Order create and update payment method options.Order.CreateParamsPaymentSettingPaymentMethodOptionWechatPay.clientOrder.UpdateParamsPaymentSettingPaymentMethodOptionWechatPay.clientMakes CreditNote.refunds a required field.
CreditNote.refundsMakes Invoice.amount_overpaid and QuotePreviewInvoice.amount_overpaid required.
Invoice.amount_overpaidQuotePreviewInvoice.amount_overpaidChanges InvoicePayment.is_default from nullable boolean to boolean.
InvoicePayment.is_defaultChanges the pinned API version to 2025-03-31.basil.
Changes CheckoutSession.collected_information to be required.
CheckoutSession.collected_informationChanges CheckoutSession.CollectedInformation.shipping_details to be required.
CheckoutSession.CollectedInformation.shipping_detailsChanges CheckoutSession.CollectedInformation.ShippingDetail.address to be required.
CheckoutSession.CollectedInformation.ShippingDetail.addressChanges CheckoutSession.CollectedInformation.ShippingDetail.name to be required.
CheckoutSession.CollectedInformation.ShippingDetail.nameChanges political_exposure on Person, Token, and Token.CreateParams from string to enum of existing or none.
Person.political_exposureToken.political_exposureToken.CreateParams.political_exposureDeprecations to plan for
Deprecated2
Introduces V1 namespaces in StripeClient and marks top level non-namespaced services as deprecated for a future major release.
StripeClientclient.v1client.customers.list()Adds a new deprecated v1 services section.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
export InvoiceUpcomingLinesService - removed:
export SubscriptionItemUsageRecordService - removed:
export SubscriptionItemUsageRecordSummaryService - removed:
export UsageRecord - removed:
export UsageRecordSummary - added:
export InvoicePayment - added:
export InvoicePaymentService - added:
export V1Services
- removed:
export UsageRecord - removed:
export UsageRecordSummary - added:
export InvoicePayment
- added:
export V2CoreEventDestinationPingEvent