github stripe/stripe-java v32.0.0

latest releases: v32.1.0-alpha.1, v32.1.0-beta.1
6 hours ago

This release changes the pinned API version to 2026-03-25.dahlia and contains breaking changes (prefixed with ⚠️ below). There's also a detailed migration guide to simplify your upgrade process.

Please review details for the breaking changes and alternatives in the Stripe API changelog before upgrading.

  • ⚠️ Breaking change: #2182 Add setHttpClient to StripeClientBuilder; clean up apiKey/authenticator coupling
    • ⚠️ Removed RequestOptions.getApiKey(), RequestOptions.RequestOptionsBuilder.getApiKey(), and StripeClient.StripeClientBuilder.getApiKey(). Use getAuthenticator() instead.
    • Added StripeClient.StripeClientBuilder.setHttpClient(HttpClient) to allow injecting a custom HTTP client.
  • ⚠️ Breaking change: #2187 Regenerate with decimal_string enabled for v2 APIs
    • V2 API decimal fields changed type from String to BigDecimal. Code that reads or writes these fields as String will need to use BigDecimal instead. Affected fields:
      • V2.Core.Account / V2.Core.AccountPerson: percentOwnership
      • PaymentEvaluation.Signals.FraudulentPayment: score
      • Params: AccountCreateParams, PersonCreateParams, AccountTokenCreateParams, PersonTokenCreateParams (all: percentOwnership)
      • Params: InvoiceItemCreateParams, InvoiceAddLinesParams, InvoiceUpdateLinesParams, InvoiceCreatePreviewParams (all: quantityDecimal)
  • ⚠️ Breaking change: #2131 Use HTTP status code in V2 errors
    • RateLimitException now extends StripeException rather than ApiException
    • Non-200 status codes from V2 endpoints will throw a StripeException (e.g. RateLimitException, InvalidRequestException, etc.) like in V1 instead of a generic ApiException
  • ⚠️ Breaking change: #2190 Throw an error when using the wrong webhook parsing method
  • ⚠️ Breaking change: #2172 Make RequestOptions & RawRequestOptions constructors private and add Stripe-Request-Trigger header
  • ⚠️ Breaking change: #2181 Change Automatic-Module-Name to com.stripe
    • Changes Automatic-Module-Name from stripe.java to com.stripe. Users with requires stripe.java; in their module-info.java will need to update to requires com.stripe;.
  • #2179 Add runtime support for V2 int64 string-encoded fields

See the changelog for more details.

Don't miss a new stripe-java release

NewReleases is sending notifications on new releases.