Breaking Changes:
Coupons enhancements:
- Removes support for discount coupons that don't have a specified end time
- Removes coupon and promotion code parameters with stackable discounts
Increase Invoice flexibility:
- Replaces top-level price fields with improved price modeling on Invoice Items and Invoice Line Items
- Replaces top-level tax-related properties with improved tax modeling on Invoices, Invoice Line Items, and Credit Note Line Items
- Adds support for multiple (partial) payments on invoices
- Adds jurisdiction level and taxability reason to manual tax amounts on invoices
Billing enhancements:
- Adds subscription item-level billing periods and removes subscription-level periods
- Invoicing resources now specify how they were generated
- Adds support for last aggregation formula on meters
- Adds new webhook event types for Billing Meters and billing credits
Elements with Checkout Session:
- Adds custom UI mode to Checkout Sessions
- Adds the initCheckout method
Deprecations to billing features:
- Replaces Upcoming Invoice API methods with the Create Preview Invoice API
- Removes legacy usage-based billing
Issuing enhancements:
- Adds reason code for Issuing authorizations created while Stripe is unavailable
- HTTP Accept headers for webhooks now specify JSON during Issuing authorizations
- Adds expired status for Issuing Authorizations
Payment enhancements:
- Updates the Vault and Forward API to return a 402 status code for upstream request timeouts
- Removes manual capture method for Interac cards
- Payment Methods won't allow modifying fields for Naver Pay after the object is first created
- Partially capturing or canceling payments no longer creates a Refund
- Adds support for Klarna, Naver Pay, Billie, Satispay, New Zealand BECS Direct Debit in various payment flows
- Makes the client parameter optional for WeChat Pay until confirmation
Checkout enhancements:
- Checkout Session removes shipping details
- Checkout Sessions have lower latency and new update semantics
- Checkout Session allows shipping option updates
- Adds permissions parameter to Checkout Sessions
- Adds optional items to Checkout Sessions and Payment Links
Additional updates:
- Removes total count expansion for list API methods
- Adds new error codes for required verifications
- Updates the default layout for Payment Element
- Changes the political exposure property of the Person object from a string to an enum
- Adds default value to custom fields on Payment Links
- Expanded availability of Account KYC data
- Adds new error code for failures with the Setup Intents API using mobile wallets
- Adds presentment details for Adaptive Pricing
- Adds BalanceTransaction types related to pay with Stripe balance
- Introduces new customer balance transaction types
- Removes support for the page parameter
- Adds ability to configure WiFi for Terminal readers