Repository: stripe/stripe-go
Pull request #1841 (2024-03-30 23:06:25)

Sdk release/next major
## Changelog

* This release changes the pinned API version to `2024-04-10`. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2024-04-10) and carefully review the API changes before upgrading.

### ⚠️ Breaking changes

 * When no `x-stripe-should-retry` header is set in the response, the library now retries all requests with `status >= 500`, not just non-POST methods.
 * Change the type on the status of TerminalReader object from string to enum with values of `TerminalReaderStatusOffline` and `TerminalReaderStatusOnline`
 * Rename `Features` to `MarketingFeatures` on `ProductCreateOptions`, `ProductUpdateOptions`, and `Product`.

#### ⚠️ Removal of enum values, properties and events that are no longer part of the publicly documented Stripe API
* Remove `SubscriptionPause` from `BillingPortalConfigurationFeatures ` and `BillingPortalConfigurationFeaturesParams ` as the feature to pause subscription on the portal has been deprecated.
* Remove deprecated values for the `BalanceTransactionType` enum by removing the below constants
    * `BalanceTransactionTypeObligationInbound` 
    * `BalanceTransactionTypeObligationPayout`
    * `BalanceTransactionTypeObligationPayoutFailure`
    * `BalanceTransactionTypeObligationReversalOutbound`
 * Remove deprecated value for the `ClimateSupplierRemovalPathway` enum by removing the constant `ClimateSupplierRemovalPathwayVarious`
 * Remove deprecated events types 
    * `EventTypeInvoiceItemUpdated`
    * `EventTypeOrderCreated`
    * `EventTypeRecipientCreated`
    * `EventTypeRecipientDeleted`
    * `EventTypeRecipientUpdated`
    * `EventTypeSKUCreated`
    * `EventTypeSKUDeleted`
 * Remove the field `RequestIncrementalAuthorization` on the `PaymentIntentPaymentMethodOptionsCardPresentParams` struct - this was shipped by mistake
 * Remove support for `id_bank_transfer`, `multibanco, netbanking`, `pay_by_bank`, and `upi` on `PaymentMethodConfiguration`. TODO - List the affected types and constants
 * Remove deprecated value for the `SetupIntentPaymentMethodOptionsCardRequestThreeDSecure` enum by removing the constant `SetupIntentPaymentMethodOptionsCardRequestThreeDSecureChallengeOnly`  
 * Remove deprecated value for the `TaxRateTaxType` enum by removing the constant `TaxRateTaxTypeServiceTax`
 * Remove `PaymentIntentPaymentMethodData*Params` in favor of reusing existing `PaymentMethodData*Params` for all the payment method types.
    * Remove  `PaymentIntentPaymentMethodDataBLIKParams` in favor of `PaymentMethodDataBLIKParams`
    * Remove  `PaymentIntentPaymentMethodDataCashAppParams` in favor of `PaymentMethodDataCashAppParams`
    * Remove  `PaymentIntentPaymentMethodDataCustomerBalanceParams` in favor of `PaymentMethodDataCustomerBalanceParams`
    * Remove  `PaymentIntentPaymentMethodDataKonbiniParams` in favor of `PaymentMethodDataKonbiniParams`
    * Remove  `PaymentIntentPaymentMethodDataLinkParams` in favor of `PaymentMethodDataLinkParams`
    * Remove  `PaymentIntentPaymentMethodDataPayNowParams` in favor of `PaymentMethodDataPayNowParams`
    * Remove  `PaymentIntentPaymentMethodDataPaypalParams` in favor of `PaymentMethodDataPaypalParams`
    * Remove  `PaymentIntentPaymentMethodDataPixParams` in favor of `PaymentMethodDataPixParams`
    * Remove  `PaymentIntentPaymentMethodDataPromptPayParams` in favor of `PaymentMethodDataPromptPayParams`
    * Remove  `PaymentIntentPaymentMethodDataRevolutPayParams` in favor of `PaymentMethodDataRevolutPayParams`
    * Remove  `PaymentIntentPaymentMethodDataUSBankAccounParams` in favor of `PaymentMethodDataUSBankAccounParams`
    * Remove  `PaymentIntentPaymentMethodDataZipParams` in favor of `PaymentMethodDataZipParams`
 * Remove the legacy field `InvoiceRenderingOptionsParams` in `Invoice`, `InvoiceParams`. Use `InvoiceRenderingParams` instead.



Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1b18d684..6909ecdf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -65,10 +65,10 @@
 
 ## 76.20.0 - 2024-03-07
 * [#1823](https://github.com/stripe/stripe-go/pull/1823) Update generated code
-  * Add support for `Documents` on `AccountSessionComponentsParams` and `AccountSessionComponents`
-  * Add support for `RequestThreeDSecure` on `CheckoutSessionPaymentMethodOptionsCardParams` and `CheckoutSessionPaymentMethodOptionsCard`
-  * Add support for `Created` on `CreditNoteListParams`
-  * Add support for `SEPADebit` on `InvoicePaymentSettingsPaymentMethodOptionsParams` and `InvoicePaymentSettingsPaymentMethodOptions`
+  * Add support for `Documents` on `AccountSessionComponentsParams` and `AccountSessionComponents`
+  * Add support for `RequestThreeDSecure` on `CheckoutSessionPaymentMethodOptionsCardParams` and `CheckoutSessionPaymentMethodOptionsCard`
+  * Add support for `Created` on `CreditNoteListParams`
+  * Add support for `SEPADebit` on `InvoicePaymentSettingsPaymentMethodOptionsParams` and `InvoicePaymentSettingsPaymentMethodOptions`
 
 ## 76.19.0 - 2024-02-29
 * [#1818](https://github.com/stripe/stripe-go/pull/1818) Update generated code
@@ -120,14 +120,14 @@
 * [#1800](https://github.com/stripe/stripe-go/pull/1800) Update generated code
 
 * [#1798](https://github.com/stripe/stripe-go/pull/1798) Update generated code
-  * Add support for new value `nn` on enums `ChargePaymentMethodDetailsIdealBank`, `PaymentMethodIdealBank`, and `SetupAttemptPaymentMethodDetailsIdealBank`
-  * Add support for `Issuer` on `InvoiceParams`, `InvoiceUpcomingLinesParams`, `InvoiceUpcomingParams`, and `Invoice`
-  * Add support for `Liability` on `InvoiceAutomaticTaxParams`, `InvoiceAutomaticTax`, `InvoiceUpcomingAutomaticTaxParams`, `InvoiceUpcomingLinesAutomaticTaxParams`, `SubscriptionAutomaticTaxParams`, and `SubscriptionAutomaticTax`
-  * Add support for `OnBehalfOf` on `InvoiceUpcomingLinesParams` and `InvoiceUpcomingParams`
-  * Add support for `PIN` on `IssuingCardParams`
-  * Add support for `RevocationReason` on `MandatePaymentMethodDetailsBacsDebit`
-  * Add support for `CustomerBalance` on `PaymentMethodConfigurationParams` and `PaymentMethodConfiguration`
-  * Add support for `InvoiceSettings` on `SubscriptionParams`
+  * Add support for new value `nn` on enums `ChargePaymentMethodDetailsIdealBank`, `PaymentMethodIdealBank`, and `SetupAttemptPaymentMethodDetailsIdealBank`
+  * Add support for `Issuer` on `InvoiceParams`, `InvoiceUpcomingLinesParams`, `InvoiceUpcomingParams`, and `Invoice`
+  * Add support for `Liability` on `InvoiceAutomaticTaxParams`, `InvoiceAutomaticTax`, `InvoiceUpcomingAutomaticTaxParams`, `InvoiceUpcomingLinesAutomaticTaxParams`, `SubscriptionAutomaticTaxParams`, and `SubscriptionAutomaticTax`
+  * Add support for `OnBehalfOf` on `InvoiceUpcomingLinesParams` and `InvoiceUpcomingParams`
+  * Add support for `PIN` on `IssuingCardParams`
+  * Add support for `RevocationReason` on `MandatePaymentMethodDetailsBacsDebit`
+  * Add support for `CustomerBalance` on `PaymentMethodConfigurationParams` and `PaymentMethodConfiguration`
+  * Add support for `InvoiceSettings` on `SubscriptionParams`
 
 ## 76.13.0 - 2024-01-18
 * [#1800](https://github.com/stripe/stripe-go/pull/1800) Update generated code
diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index d91517e1..33b0af25 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1,1 +1,1 @@
-v938
+v940
diff --git a/README.md b/README.md
index e5727408..4a202c23 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 # Go Stripe
-[![Go Reference](https://pkg.go.dev/badge/github.com/stripe/stripe-go)](https://pkg.go.dev/github.com/stripe/stripe-go/v76)
+[![Go Reference](https://pkg.go.dev/badge/github.com/stripe/stripe-go)](https://pkg.go.dev/github.com/stripe/stripe-go/v77)
 [![Build Status](https://github.com/stripe/stripe-go/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/stripe/stripe-go/actions/workflows/ci.yml?query=branch%3Amaster)
 [![Coverage Status](https://coveralls.io/repos/github/stripe/stripe-go/badge.svg?branch=master)](https://coveralls.io/github/stripe/stripe-go?branch=master)
 
@@ -22,8 +22,8 @@ Then, reference stripe-go in a Go program with `import`:
 
 ``` go
 import (
-	"github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/customer"
+	"github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/customer"
 )
 ```
 
@@ -33,7 +33,7 @@ toolchain will resolve and fetch the stripe-go module automatically.
 Alternatively, you can also explicitly `go get` the package into a project:
 
 ```bash
-go get -u github.com/stripe/stripe-go/v76
+go get -u github.com/stripe/stripe-go/v77
 ```
 
 ## Documentation
@@ -122,8 +122,8 @@ To use a key, pass it to `API`'s `Init` function:
 ```go
 
 import (
-	"github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/client"
+	"github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/client"
 )
 
 stripe := &client.API{}
@@ -144,8 +144,8 @@ import (
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/urlfetch"
 
-	"github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/client"
+	"github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/client"
 )
 
 func handler(w http.ResponseWriter, r *http.Request) {
@@ -179,8 +179,8 @@ client.
 
 ```go
 import (
-	"github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/$resource$"
+	"github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/$resource$"
 )
 
 // Setup
@@ -220,8 +220,8 @@ individual key.
 
 ```go
 import (
-	"github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/client"
+	"github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/client"
 )
 
 // Setup
@@ -292,8 +292,8 @@ with `MaxNetworkRetries`:
 
 ```go
 import (
-	"github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/client"
+	"github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/client"
 )
 
 config := &stripe.BackendConfig{
@@ -478,7 +478,7 @@ To mock a Stripe client for a unit tests using [GoMock](https://github.com/golan
 
 1. Generate a `Backend` type mock.
 ```
-mockgen -destination=mocks/backend.go -package=mocks github.com/stripe/stripe-go/v76 Backend
+mockgen -destination=mocks/backend.go -package=mocks github.com/stripe/stripe-go/v77 Backend
 ```
 2. Use the `Backend` mock to initialize and call methods on the client.
 ```go
@@ -489,8 +489,8 @@ import (
 
 	"github.com/golang/mock/gomock"
 	"github.com/stretchr/testify/assert"
-	"github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/account"
+	"github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/account"
 )
 
 func UseMockedStripeClient(t *testing.T) {
@@ -527,7 +527,7 @@ We would love for you to try these and share feedback with us before these featu
 To install a beta version of stripe-go use the commit notation of the `go get` command to point to a beta tag:
 
 ```
-go get -u github.com/stripe/stripe-go/v76@v73.3.0-beta.1
+go get -u github.com/stripe/stripe-go/v77@v77.1.0-beta.1
 ```
 
 > **Note**
diff --git a/VERSION b/VERSION
index 2973eebc..35992d55 100644
--- a/VERSION
+++ b/VERSION
@@ -1,1 +1,1 @@
-76.25.0
+77.00.0
diff --git a/account.go b/account.go
index b8670475..29a34975 100644
--- a/account.go
+++ b/account.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // The business type. Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property is only returned for Custom accounts.
diff --git a/account/client.go b/account/client.go
index a754ac40..1f98b639 100644
--- a/account/client.go
+++ b/account/client.go
@@ -10,8 +10,8 @@ package account
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /accounts APIs.
diff --git a/accountlink/client.go b/accountlink/client.go
index eaefa9e2..18b4ca1d 100644
--- a/accountlink/client.go
+++ b/accountlink/client.go
@@ -10,7 +10,7 @@ package accountlink
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /account_links APIs.
diff --git a/accountsession/client.go b/accountsession/client.go
index 7fe5709e..1cd8688e 100644
--- a/accountsession/client.go
+++ b/accountsession/client.go
@@ -10,7 +10,7 @@ package accountsession
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /account_sessions APIs.
diff --git a/api_version.go b/api_version.go
index 84b0ae67..029f4629 100644
--- a/api_version.go
+++ b/api_version.go
@@ -7,5 +7,5 @@
 package stripe
 
 const (
-	apiVersion string = "2023-10-16"
+	apiVersion string = "2024-04-10"
 )
diff --git a/applepaydomain/client.go b/applepaydomain/client.go
index 9ff7790b..cb399152 100644
--- a/applepaydomain/client.go
+++ b/applepaydomain/client.go
@@ -10,8 +10,8 @@ package applepaydomain
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /apple_pay/domains APIs.
diff --git a/applicationfee/client.go b/applicationfee/client.go
index 7e660050..32a923e0 100644
--- a/applicationfee/client.go
+++ b/applicationfee/client.go
@@ -10,8 +10,8 @@ package applicationfee
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /application_fees APIs.
diff --git a/apps/secret/client.go b/apps/secret/client.go
index 72df6211..6d93973b 100644
--- a/apps/secret/client.go
+++ b/apps/secret/client.go
@@ -10,8 +10,8 @@ package secret
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /apps/secrets APIs.
diff --git a/balance/client.go b/balance/client.go
index 443c27f2..df997db5 100644
--- a/balance/client.go
+++ b/balance/client.go
@@ -10,7 +10,7 @@ package balance
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /balance APIs.
diff --git a/balancetransaction.go b/balancetransaction.go
index aa95c7e0..779e2f56 100644
--- a/balancetransaction.go
+++ b/balancetransaction.go
@@ -118,10 +118,6 @@ const (
 	BalanceTransactionTypeTransferCancel               BalanceTransactionType = "transfer_cancel"
 	BalanceTransactionTypeTransferFailure              BalanceTransactionType = "transfer_failure"
 	BalanceTransactionTypeTransferRefund               BalanceTransactionType = "transfer_refund"
-	BalanceTransactionTypeObligationInbound            BalanceTransactionType = "obligation_inbound"
-	BalanceTransactionTypeObligationPayout             BalanceTransactionType = "obligation_payout"
-	BalanceTransactionTypeObligationPayoutFailure      BalanceTransactionType = "obligation_payout_failure"
-	BalanceTransactionTypeObligationReversalOutbound   BalanceTransactionType = "obligation_reversal_outbound"
 )
 
 // Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
diff --git a/balancetransaction/client.go b/balancetransaction/client.go
index 49ae13f4..8b265ee9 100644
--- a/balancetransaction/client.go
+++ b/balancetransaction/client.go
@@ -10,8 +10,8 @@ package balancetransaction
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /balance_transactions APIs.
diff --git a/bankaccount.go b/bankaccount.go
index 1d28cebe..0db4fa5e 100644
--- a/bankaccount.go
+++ b/bankaccount.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 	"strconv"
 )
 
diff --git a/bankaccount/client.go b/bankaccount/client.go
index b1b0011d..6d66054c 100644
--- a/bankaccount/client.go
+++ b/bankaccount/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke bankaccount related APIs.
diff --git a/billing/meter/client.go b/billing/meter/client.go
index 46aca361..cb8f2354 100644
--- a/billing/meter/client.go
+++ b/billing/meter/client.go
@@ -10,8 +10,8 @@ package meter
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /billing/meters APIs.
diff --git a/billing/meterevent/client.go b/billing/meterevent/client.go
index 61a06071..53789d49 100644
--- a/billing/meterevent/client.go
+++ b/billing/meterevent/client.go
@@ -10,7 +10,7 @@ package meterevent
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /billing/meter_events APIs.
diff --git a/billing/metereventadjustment/client.go b/billing/metereventadjustment/client.go
index 885ebab5..618255c1 100644
--- a/billing/metereventadjustment/client.go
+++ b/billing/metereventadjustment/client.go
@@ -10,7 +10,7 @@ package metereventadjustment
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /billing/meter_event_adjustments APIs.
diff --git a/billing/metereventsummary/client.go b/billing/metereventsummary/client.go
index c5614071..c27f78ef 100644
--- a/billing/metereventsummary/client.go
+++ b/billing/metereventsummary/client.go
@@ -10,8 +10,8 @@ package metereventsummary
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /billing/meters/{id}/event_summaries APIs.
diff --git a/billingportal/configuration/client.go b/billingportal/configuration/client.go
index 58729842..5e4c1548 100644
--- a/billingportal/configuration/client.go
+++ b/billingportal/configuration/client.go
@@ -10,8 +10,8 @@ package configuration
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /billing_portal/configurations APIs.
diff --git a/billingportal/session/client.go b/billingportal/session/client.go
index cd8cf0f1..76f4ab1d 100644
--- a/billingportal/session/client.go
+++ b/billingportal/session/client.go
@@ -10,7 +10,7 @@ package session
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /billing_portal/sessions APIs.
diff --git a/billingportal_configuration.go b/billingportal_configuration.go
index 4df0ff54..7b535dab 100644
--- a/billingportal_configuration.go
+++ b/billingportal_configuration.go
@@ -161,12 +161,6 @@ type BillingPortalConfigurationFeaturesSubscriptionUpdateParams struct {
 	ProrationBehavior *string `form:"proration_behavior"`
 }
 
-// Information about pausing subscriptions in the portal.
-type BillingPortalConfigurationFeaturesSubscriptionPauseParams struct {
-	// Whether the feature is enabled.
-	Enabled *bool `form:"enabled"`
-}
-
 // Information about the features available in the portal.
 type BillingPortalConfigurationFeaturesParams struct {
 	// Information about updating the customer details in the portal.
@@ -177,8 +171,6 @@ type BillingPortalConfigurationFeaturesParams struct {
 	PaymentMethodUpdate *BillingPortalConfigurationFeaturesPaymentMethodUpdateParams `form:"payment_method_update"`
 	// Information about canceling subscriptions in the portal.
 	SubscriptionCancel *BillingPortalConfigurationFeaturesSubscriptionCancelParams `form:"subscription_cancel"`
-	// Information about pausing subscriptions in the portal.
-	SubscriptionPause *BillingPortalConfigurationFeaturesSubscriptionPauseParams `form:"subscription_pause"`
 	// Information about updating subscriptions in the portal.
 	SubscriptionUpdate *BillingPortalConfigurationFeaturesSubscriptionUpdateParams `form:"subscription_update"`
 }
@@ -279,16 +271,11 @@ type BillingPortalConfigurationFeaturesSubscriptionUpdate struct {
 	// Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. Defaults to a value of `none` if you don't set it during creation.
 	ProrationBehavior BillingPortalConfigurationFeaturesSubscriptionUpdateProrationBehavior `json:"proration_behavior"`
 }
-type BillingPortalConfigurationFeaturesSubscriptionPause struct {
-	// Whether the feature is enabled.
-	Enabled bool `json:"enabled"`
-}
 type BillingPortalConfigurationFeatures struct {
 	CustomerUpdate      *BillingPortalConfigurationFeaturesCustomerUpdate      `json:"customer_update"`
 	InvoiceHistory      *BillingPortalConfigurationFeaturesInvoiceHistory      `json:"invoice_history"`
 	PaymentMethodUpdate *BillingPortalConfigurationFeaturesPaymentMethodUpdate `json:"payment_method_update"`
 	SubscriptionCancel  *BillingPortalConfigurationFeaturesSubscriptionCancel  `json:"subscription_cancel"`
-	SubscriptionPause   *BillingPortalConfigurationFeaturesSubscriptionPause   `json:"subscription_pause"`
 	SubscriptionUpdate  *BillingPortalConfigurationFeaturesSubscriptionUpdate  `json:"subscription_update"`
 }
 type BillingPortalConfigurationLoginPage struct {
diff --git a/capability/client.go b/capability/client.go
index d5a865c2..8b09633b 100644
--- a/capability/client.go
+++ b/capability/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /accounts/{account}/capabilities APIs.
diff --git a/card.go b/card.go
index f17da5f0..b47da2d6 100644
--- a/card.go
+++ b/card.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 	"strconv"
 )
 
diff --git a/card/client.go b/card/client.go
index 87835094..0cd1f8e1 100644
--- a/card/client.go
+++ b/card/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke card related APIs.
diff --git a/cashbalance/client.go b/cashbalance/client.go
index ceec9fe6..c1b02195 100644
--- a/cashbalance/client.go
+++ b/cashbalance/client.go
@@ -11,7 +11,7 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /customers/{customer}/cash_balance APIs.
diff --git a/charge/client.go b/charge/client.go
index 3007a14e..d9f11165 100644
--- a/charge/client.go
+++ b/charge/client.go
@@ -10,8 +10,8 @@ package charge
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /charges APIs.
diff --git a/checkout/session/client.go b/checkout/session/client.go
index 745e2b8d..c6026e0a 100644
--- a/checkout/session/client.go
+++ b/checkout/session/client.go
@@ -10,8 +10,8 @@ package session
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /checkout/sessions APIs.
diff --git a/client/api.go b/client/api.go
index 0ca3311a..a9b8d9f2 100644
--- a/client/api.go
+++ b/client/api.go
@@ -8,137 +8,138 @@
 package client
 
 import (
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/account"
-	"github.com/stripe/stripe-go/v76/accountlink"
-	"github.com/stripe/stripe-go/v76/accountsession"
-	"github.com/stripe/stripe-go/v76/applepaydomain"
-	"github.com/stripe/stripe-go/v76/applicationfee"
-	appssecret "github.com/stripe/stripe-go/v76/apps/secret"
-	"github.com/stripe/stripe-go/v76/balance"
-	"github.com/stripe/stripe-go/v76/balancetransaction"
-	"github.com/stripe/stripe-go/v76/bankaccount"
-	billingmeter "github.com/stripe/stripe-go/v76/billing/meter"
-	billingmeterevent "github.com/stripe/stripe-go/v76/billing/meterevent"
-	billingmetereventadjustment "github.com/stripe/stripe-go/v76/billing/metereventadjustment"
-	billingmetereventsummary "github.com/stripe/stripe-go/v76/billing/metereventsummary"
-	billingportalconfiguration "github.com/stripe/stripe-go/v76/billingportal/configuration"
-	billingportalsession "github.com/stripe/stripe-go/v76/billingportal/session"
-	"github.com/stripe/stripe-go/v76/capability"
-	"github.com/stripe/stripe-go/v76/card"
-	"github.com/stripe/stripe-go/v76/cashbalance"
-	"github.com/stripe/stripe-go/v76/charge"
-	checkoutsession "github.com/stripe/stripe-go/v76/checkout/session"
-	climateorder "github.com/stripe/stripe-go/v76/climate/order"
-	climateproduct "github.com/stripe/stripe-go/v76/climate/product"
-	climatesupplier "github.com/stripe/stripe-go/v76/climate/supplier"
-	"github.com/stripe/stripe-go/v76/confirmationtoken"
-	"github.com/stripe/stripe-go/v76/countryspec"
-	"github.com/stripe/stripe-go/v76/coupon"
-	"github.com/stripe/stripe-go/v76/creditnote"
-	"github.com/stripe/stripe-go/v76/customer"
-	"github.com/stripe/stripe-go/v76/customerbalancetransaction"
-	"github.com/stripe/stripe-go/v76/customercashbalancetransaction"
-	"github.com/stripe/stripe-go/v76/customersession"
-	"github.com/stripe/stripe-go/v76/dispute"
-	entitlementsactiveentitlement "github.com/stripe/stripe-go/v76/entitlements/activeentitlement"
-	entitlementsfeature "github.com/stripe/stripe-go/v76/entitlements/feature"
-	"github.com/stripe/stripe-go/v76/ephemeralkey"
-	"github.com/stripe/stripe-go/v76/event"
-	"github.com/stripe/stripe-go/v76/feerefund"
-	"github.com/stripe/stripe-go/v76/file"
-	"github.com/stripe/stripe-go/v76/filelink"
-	financialconnectionsaccount "github.com/stripe/stripe-go/v76/financialconnections/account"
-	financialconnectionssession "github.com/stripe/stripe-go/v76/financialconnections/session"
-	financialconnectionstransaction "github.com/stripe/stripe-go/v76/financialconnections/transaction"
-	forwardingrequest "github.com/stripe/stripe-go/v76/forwarding/request"
-	identityverificationreport "github.com/stripe/stripe-go/v76/identity/verificationreport"
-	identityverificationsession "github.com/stripe/stripe-go/v76/identity/verificationsession"
-	"github.com/stripe/stripe-go/v76/invoice"
-	"github.com/stripe/stripe-go/v76/invoiceitem"
-	"github.com/stripe/stripe-go/v76/invoicelineitem"
-	issuingauthorization "github.com/stripe/stripe-go/v76/issuing/authorization"
-	issuingcard "github.com/stripe/stripe-go/v76/issuing/card"
-	issuingcardholder "github.com/stripe/stripe-go/v76/issuing/cardholder"
-	issuingdispute "github.com/stripe/stripe-go/v76/issuing/dispute"
-	issuingpersonalizationdesign "github.com/stripe/stripe-go/v76/issuing/personalizationdesign"
-	issuingphysicalbundle "github.com/stripe/stripe-go/v76/issuing/physicalbundle"
-	issuingtoken "github.com/stripe/stripe-go/v76/issuing/token"
-	issuingtransaction "github.com/stripe/stripe-go/v76/issuing/transaction"
-	"github.com/stripe/stripe-go/v76/loginlink"
-	"github.com/stripe/stripe-go/v76/mandate"
-	"github.com/stripe/stripe-go/v76/oauth"
-	"github.com/stripe/stripe-go/v76/paymentintent"
-	"github.com/stripe/stripe-go/v76/paymentlink"
-	"github.com/stripe/stripe-go/v76/paymentmethod"
-	"github.com/stripe/stripe-go/v76/paymentmethodconfiguration"
-	"github.com/stripe/stripe-go/v76/paymentmethoddomain"
-	"github.com/stripe/stripe-go/v76/paymentsource"
-	"github.com/stripe/stripe-go/v76/payout"
-	"github.com/stripe/stripe-go/v76/person"
-	"github.com/stripe/stripe-go/v76/plan"
-	"github.com/stripe/stripe-go/v76/price"
-	"github.com/stripe/stripe-go/v76/product"
-	"github.com/stripe/stripe-go/v76/promotioncode"
-	"github.com/stripe/stripe-go/v76/quote"
-	radarearlyfraudwarning "github.com/stripe/stripe-go/v76/radar/earlyfraudwarning"
-	radarvaluelist "github.com/stripe/stripe-go/v76/radar/valuelist"
-	radarvaluelistitem "github.com/stripe/stripe-go/v76/radar/valuelistitem"
-	"github.com/stripe/stripe-go/v76/refund"
-	reportingreportrun "github.com/stripe/stripe-go/v76/reporting/reportrun"
-	reportingreporttype "github.com/stripe/stripe-go/v76/reporting/reporttype"
-	"github.com/stripe/stripe-go/v76/review"
-	"github.com/stripe/stripe-go/v76/setupattempt"
-	"github.com/stripe/stripe-go/v76/setupintent"
-	"github.com/stripe/stripe-go/v76/shippingrate"
-	sigmascheduledqueryrun "github.com/stripe/stripe-go/v76/sigma/scheduledqueryrun"
-	"github.com/stripe/stripe-go/v76/source"
-	"github.com/stripe/stripe-go/v76/sourcetransaction"
-	"github.com/stripe/stripe-go/v76/subscription"
-	"github.com/stripe/stripe-go/v76/subscriptionitem"
-	"github.com/stripe/stripe-go/v76/subscriptionschedule"
-	taxcalculation "github.com/stripe/stripe-go/v76/tax/calculation"
-	taxregistration "github.com/stripe/stripe-go/v76/tax/registration"
-	taxsettings "github.com/stripe/stripe-go/v76/tax/settings"
-	taxtransaction "github.com/stripe/stripe-go/v76/tax/transaction"
-	"github.com/stripe/stripe-go/v76/taxcode"
-	"github.com/stripe/stripe-go/v76/taxid"
-	"github.com/stripe/stripe-go/v76/taxrate"
-	terminalconfiguration "github.com/stripe/stripe-go/v76/terminal/configuration"
-	terminalconnectiontoken "github.com/stripe/stripe-go/v76/terminal/connectiontoken"
-	terminallocation "github.com/stripe/stripe-go/v76/terminal/location"
-	terminalreader "github.com/stripe/stripe-go/v76/terminal/reader"
-	testhelpersconfirmationtoken "github.com/stripe/stripe-go/v76/testhelpers/confirmationtoken"
-	testhelperscustomer "github.com/stripe/stripe-go/v76/testhelpers/customer"
-	testhelpersissuingauthorization "github.com/stripe/stripe-go/v76/testhelpers/issuing/authorization"
-	testhelpersissuingcard "github.com/stripe/stripe-go/v76/testhelpers/issuing/card"
-	testhelpersissuingpersonalizationdesign "github.com/stripe/stripe-go/v76/testhelpers/issuing/personalizationdesign"
-	testhelpersissuingtransaction "github.com/stripe/stripe-go/v76/testhelpers/issuing/transaction"
-	testhelpersrefund "github.com/stripe/stripe-go/v76/testhelpers/refund"
-	testhelpersterminalreader "github.com/stripe/stripe-go/v76/testhelpers/terminal/reader"
-	testhelperstestclock "github.com/stripe/stripe-go/v76/testhelpers/testclock"
-	testhelperstreasuryinboundtransfer "github.com/stripe/stripe-go/v76/testhelpers/treasury/inboundtransfer"
-	testhelperstreasuryoutboundpayment "github.com/stripe/stripe-go/v76/testhelpers/treasury/outboundpayment"
-	testhelperstreasuryoutboundtransfer "github.com/stripe/stripe-go/v76/testhelpers/treasury/outboundtransfer"
-	testhelperstreasuryreceivedcredit "github.com/stripe/stripe-go/v76/testhelpers/treasury/receivedcredit"
-	testhelperstreasuryreceiveddebit "github.com/stripe/stripe-go/v76/testhelpers/treasury/receiveddebit"
-	"github.com/stripe/stripe-go/v76/token"
-	"github.com/stripe/stripe-go/v76/topup"
-	"github.com/stripe/stripe-go/v76/transfer"
-	"github.com/stripe/stripe-go/v76/transferreversal"
-	treasurycreditreversal "github.com/stripe/stripe-go/v76/treasury/creditreversal"
-	treasurydebitreversal "github.com/stripe/stripe-go/v76/treasury/debitreversal"
-	treasuryfinancialaccount "github.com/stripe/stripe-go/v76/treasury/financialaccount"
-	treasuryinboundtransfer "github.com/stripe/stripe-go/v76/treasury/inboundtransfer"
-	treasuryoutboundpayment "github.com/stripe/stripe-go/v76/treasury/outboundpayment"
-	treasuryoutboundtransfer "github.com/stripe/stripe-go/v76/treasury/outboundtransfer"
-	treasuryreceivedcredit "github.com/stripe/stripe-go/v76/treasury/receivedcredit"
-	treasuryreceiveddebit "github.com/stripe/stripe-go/v76/treasury/receiveddebit"
-	treasurytransaction "github.com/stripe/stripe-go/v76/treasury/transaction"
-	treasurytransactionentry "github.com/stripe/stripe-go/v76/treasury/transactionentry"
-	"github.com/stripe/stripe-go/v76/usagerecord"
-	"github.com/stripe/stripe-go/v76/usagerecordsummary"
-	"github.com/stripe/stripe-go/v76/webhookendpoint"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/account"
+	"github.com/stripe/stripe-go/v77/accountlink"
+	"github.com/stripe/stripe-go/v77/accountsession"
+	"github.com/stripe/stripe-go/v77/applepaydomain"
+	"github.com/stripe/stripe-go/v77/applicationfee"
+	appssecret "github.com/stripe/stripe-go/v77/apps/secret"
+	"github.com/stripe/stripe-go/v77/balance"
+	"github.com/stripe/stripe-go/v77/balancetransaction"
+	"github.com/stripe/stripe-go/v77/bankaccount"
+	billingmeter "github.com/stripe/stripe-go/v77/billing/meter"
+	billingmeterevent "github.com/stripe/stripe-go/v77/billing/meterevent"
+	billingmetereventadjustment "github.com/stripe/stripe-go/v77/billing/metereventadjustment"
+	billingmetereventsummary "github.com/stripe/stripe-go/v77/billing/metereventsummary"
+	billingportalconfiguration "github.com/stripe/stripe-go/v77/billingportal/configuration"
+	billingportalsession "github.com/stripe/stripe-go/v77/billingportal/session"
+	"github.com/stripe/stripe-go/v77/capability"
+	"github.com/stripe/stripe-go/v77/card"
+	"github.com/stripe/stripe-go/v77/cashbalance"
+	"github.com/stripe/stripe-go/v77/charge"
+	checkoutsession "github.com/stripe/stripe-go/v77/checkout/session"
+	climateorder "github.com/stripe/stripe-go/v77/climate/order"
+	climateproduct "github.com/stripe/stripe-go/v77/climate/product"
+	climatesupplier "github.com/stripe/stripe-go/v77/climate/supplier"
+	"github.com/stripe/stripe-go/v77/confirmationtoken"
+	"github.com/stripe/stripe-go/v77/countryspec"
+	"github.com/stripe/stripe-go/v77/coupon"
+	"github.com/stripe/stripe-go/v77/creditnote"
+	"github.com/stripe/stripe-go/v77/customer"
+	"github.com/stripe/stripe-go/v77/customerbalancetransaction"
+	"github.com/stripe/stripe-go/v77/customercashbalancetransaction"
+	"github.com/stripe/stripe-go/v77/customersession"
+	"github.com/stripe/stripe-go/v77/dispute"
+	entitlementsactiveentitlement "github.com/stripe/stripe-go/v77/entitlements/activeentitlement"
+	entitlementsfeature "github.com/stripe/stripe-go/v77/entitlements/feature"
+	"github.com/stripe/stripe-go/v77/ephemeralkey"
+	"github.com/stripe/stripe-go/v77/event"
+	"github.com/stripe/stripe-go/v77/feerefund"
+	"github.com/stripe/stripe-go/v77/file"
+	"github.com/stripe/stripe-go/v77/filelink"
+	financialconnectionsaccount "github.com/stripe/stripe-go/v77/financialconnections/account"
+	financialconnectionssession "github.com/stripe/stripe-go/v77/financialconnections/session"
+	financialconnectionstransaction "github.com/stripe/stripe-go/v77/financialconnections/transaction"
+	forwardingrequest "github.com/stripe/stripe-go/v77/forwarding/request"
+	identityverificationreport "github.com/stripe/stripe-go/v77/identity/verificationreport"
+	identityverificationsession "github.com/stripe/stripe-go/v77/identity/verificationsession"
+	"github.com/stripe/stripe-go/v77/invoice"
+	"github.com/stripe/stripe-go/v77/invoiceitem"
+	"github.com/stripe/stripe-go/v77/invoicelineitem"
+	issuingauthorization "github.com/stripe/stripe-go/v77/issuing/authorization"
+	issuingcard "github.com/stripe/stripe-go/v77/issuing/card"
+	issuingcardholder "github.com/stripe/stripe-go/v77/issuing/cardholder"
+	issuingdispute "github.com/stripe/stripe-go/v77/issuing/dispute"
+	issuingpersonalizationdesign "github.com/stripe/stripe-go/v77/issuing/personalizationdesign"
+	issuingphysicalbundle "github.com/stripe/stripe-go/v77/issuing/physicalbundle"
+	issuingtoken "github.com/stripe/stripe-go/v77/issuing/token"
+	issuingtransaction "github.com/stripe/stripe-go/v77/issuing/transaction"
+	"github.com/stripe/stripe-go/v77/loginlink"
+	"github.com/stripe/stripe-go/v77/mandate"
+	"github.com/stripe/stripe-go/v77/oauth"
+	"github.com/stripe/stripe-go/v77/paymentintent"
+	"github.com/stripe/stripe-go/v77/paymentlink"
+	"github.com/stripe/stripe-go/v77/paymentmethod"
+	"github.com/stripe/stripe-go/v77/paymentmethodconfiguration"
+	"github.com/stripe/stripe-go/v77/paymentmethoddomain"
+	"github.com/stripe/stripe-go/v77/paymentsource"
+	"github.com/stripe/stripe-go/v77/payout"
+	"github.com/stripe/stripe-go/v77/person"
+	"github.com/stripe/stripe-go/v77/plan"
+	"github.com/stripe/stripe-go/v77/price"
+	"github.com/stripe/stripe-go/v77/product"
+	"github.com/stripe/stripe-go/v77/productfeature"
+	"github.com/stripe/stripe-go/v77/promotioncode"
+	"github.com/stripe/stripe-go/v77/quote"
+	radarearlyfraudwarning "github.com/stripe/stripe-go/v77/radar/earlyfraudwarning"
+	radarvaluelist "github.com/stripe/stripe-go/v77/radar/valuelist"
+	radarvaluelistitem "github.com/stripe/stripe-go/v77/radar/valuelistitem"
+	"github.com/stripe/stripe-go/v77/refund"
+	reportingreportrun "github.com/stripe/stripe-go/v77/reporting/reportrun"
+	reportingreporttype "github.com/stripe/stripe-go/v77/reporting/reporttype"
+	"github.com/stripe/stripe-go/v77/review"
+	"github.com/stripe/stripe-go/v77/setupattempt"
+	"github.com/stripe/stripe-go/v77/setupintent"
+	"github.com/stripe/stripe-go/v77/shippingrate"
+	sigmascheduledqueryrun "github.com/stripe/stripe-go/v77/sigma/scheduledqueryrun"
+	"github.com/stripe/stripe-go/v77/source"
+	"github.com/stripe/stripe-go/v77/sourcetransaction"
+	"github.com/stripe/stripe-go/v77/subscription"
+	"github.com/stripe/stripe-go/v77/subscriptionitem"
+	"github.com/stripe/stripe-go/v77/subscriptionschedule"
+	taxcalculation "github.com/stripe/stripe-go/v77/tax/calculation"
+	taxregistration "github.com/stripe/stripe-go/v77/tax/registration"
+	taxsettings "github.com/stripe/stripe-go/v77/tax/settings"
+	taxtransaction "github.com/stripe/stripe-go/v77/tax/transaction"
+	"github.com/stripe/stripe-go/v77/taxcode"
+	"github.com/stripe/stripe-go/v77/taxid"
+	"github.com/stripe/stripe-go/v77/taxrate"
+	terminalconfiguration "github.com/stripe/stripe-go/v77/terminal/configuration"
+	terminalconnectiontoken "github.com/stripe/stripe-go/v77/terminal/connectiontoken"
+	terminallocation "github.com/stripe/stripe-go/v77/terminal/location"
+	terminalreader "github.com/stripe/stripe-go/v77/terminal/reader"
+	testhelpersconfirmationtoken "github.com/stripe/stripe-go/v77/testhelpers/confirmationtoken"
+	testhelperscustomer "github.com/stripe/stripe-go/v77/testhelpers/customer"
+	testhelpersissuingauthorization "github.com/stripe/stripe-go/v77/testhelpers/issuing/authorization"
+	testhelpersissuingcard "github.com/stripe/stripe-go/v77/testhelpers/issuing/card"
+	testhelpersissuingpersonalizationdesign "github.com/stripe/stripe-go/v77/testhelpers/issuing/personalizationdesign"
+	testhelpersissuingtransaction "github.com/stripe/stripe-go/v77/testhelpers/issuing/transaction"
+	testhelpersrefund "github.com/stripe/stripe-go/v77/testhelpers/refund"
+	testhelpersterminalreader "github.com/stripe/stripe-go/v77/testhelpers/terminal/reader"
+	testhelperstestclock "github.com/stripe/stripe-go/v77/testhelpers/testclock"
+	testhelperstreasuryinboundtransfer "github.com/stripe/stripe-go/v77/testhelpers/treasury/inboundtransfer"
+	testhelperstreasuryoutboundpayment "github.com/stripe/stripe-go/v77/testhelpers/treasury/outboundpayment"
+	testhelperstreasuryoutboundtransfer "github.com/stripe/stripe-go/v77/testhelpers/treasury/outboundtransfer"
+	testhelperstreasuryreceivedcredit "github.com/stripe/stripe-go/v77/testhelpers/treasury/receivedcredit"
+	testhelperstreasuryreceiveddebit "github.com/stripe/stripe-go/v77/testhelpers/treasury/receiveddebit"
+	"github.com/stripe/stripe-go/v77/token"
+	"github.com/stripe/stripe-go/v77/topup"
+	"github.com/stripe/stripe-go/v77/transfer"
+	"github.com/stripe/stripe-go/v77/transferreversal"
+	treasurycreditreversal "github.com/stripe/stripe-go/v77/treasury/creditreversal"
+	treasurydebitreversal "github.com/stripe/stripe-go/v77/treasury/debitreversal"
+	treasuryfinancialaccount "github.com/stripe/stripe-go/v77/treasury/financialaccount"
+	treasuryinboundtransfer "github.com/stripe/stripe-go/v77/treasury/inboundtransfer"
+	treasuryoutboundpayment "github.com/stripe/stripe-go/v77/treasury/outboundpayment"
+	treasuryoutboundtransfer "github.com/stripe/stripe-go/v77/treasury/outboundtransfer"
+	treasuryreceivedcredit "github.com/stripe/stripe-go/v77/treasury/receivedcredit"
+	treasuryreceiveddebit "github.com/stripe/stripe-go/v77/treasury/receiveddebit"
+	treasurytransaction "github.com/stripe/stripe-go/v77/treasury/transaction"
+	treasurytransactionentry "github.com/stripe/stripe-go/v77/treasury/transactionentry"
+	"github.com/stripe/stripe-go/v77/usagerecord"
+	"github.com/stripe/stripe-go/v77/usagerecordsummary"
+	"github.com/stripe/stripe-go/v77/webhookendpoint"
 )
 
 // API is the Stripe client. It contains all the different resources available.
@@ -281,6 +282,8 @@ type API struct {
 	Plans *plan.Client
 	// Prices is the client used to invoke /prices APIs.
 	Prices *price.Client
+	// ProductFeatures is the client used to invoke /products/{product}/features APIs.
+	ProductFeatures *productfeature.Client
 	// Products is the client used to invoke /products APIs.
 	Products *product.Client
 	// PromotionCodes is the client used to invoke /promotion_codes APIs.
@@ -484,6 +487,7 @@ func (a *API) Init(key string, backends *stripe.Backends) {
 	a.Persons = &person.Client{B: backends.API, Key: key}
 	a.Plans = &plan.Client{B: backends.API, Key: key}
 	a.Prices = &price.Client{B: backends.API, Key: key}
+	a.ProductFeatures = &productfeature.Client{B: backends.API, Key: key}
 	a.Products = &product.Client{B: backends.API, Key: key}
 	a.PromotionCodes = &promotioncode.Client{B: backends.API, Key: key}
 	a.Quotes = &quote.Client{B: backends.API, BUploads: backends.Uploads, Key: key}
diff --git a/climate/order/client.go b/climate/order/client.go
index cf555e5c..17551618 100644
--- a/climate/order/client.go
+++ b/climate/order/client.go
@@ -10,8 +10,8 @@ package order
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /climate/orders APIs.
diff --git a/climate/product/client.go b/climate/product/client.go
index f13c2761..20e53464 100644
--- a/climate/product/client.go
+++ b/climate/product/client.go
@@ -10,8 +10,8 @@ package product
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /climate/products APIs.
diff --git a/climate/supplier/client.go b/climate/supplier/client.go
index 33fddb79..d4cf012e 100644
--- a/climate/supplier/client.go
+++ b/climate/supplier/client.go
@@ -10,8 +10,8 @@ package supplier
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /climate/suppliers APIs.
diff --git a/climate_supplier.go b/climate_supplier.go
index 55b2d70c..406e87b7 100644
--- a/climate_supplier.go
+++ b/climate_supplier.go
@@ -14,7 +14,6 @@ const (
 	ClimateSupplierRemovalPathwayBiomassCarbonRemovalAndStorage ClimateSupplierRemovalPathway = "biomass_carbon_removal_and_storage"
 	ClimateSupplierRemovalPathwayDirectAirCapture               ClimateSupplierRemovalPathway = "direct_air_capture"
 	ClimateSupplierRemovalPathwayEnhancedWeathering             ClimateSupplierRemovalPathway = "enhanced_weathering"
-	ClimateSupplierRemovalPathwayVarious                        ClimateSupplierRemovalPathway = "various"
 )
 
 // Lists all available Climate supplier objects.
diff --git a/confirmationtoken/client.go b/confirmationtoken/client.go
index 9b3937d4..e1bb9216 100644
--- a/confirmationtoken/client.go
+++ b/confirmationtoken/client.go
@@ -10,7 +10,7 @@ package confirmationtoken
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /confirmation_tokens APIs.
diff --git a/countryspec/client.go b/countryspec/client.go
index 23b73177..8eb5c83b 100644
--- a/countryspec/client.go
+++ b/countryspec/client.go
@@ -10,8 +10,8 @@ package countryspec
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /country_specs APIs.
diff --git a/coupon/client.go b/coupon/client.go
index ea51ee07..5f4a1f11 100644
--- a/coupon/client.go
+++ b/coupon/client.go
@@ -10,8 +10,8 @@ package coupon
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /coupons APIs.
diff --git a/creditnote/client.go b/creditnote/client.go
index 37e31715..844fc3fd 100644
--- a/creditnote/client.go
+++ b/creditnote/client.go
@@ -10,8 +10,8 @@ package creditnote
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /credit_notes APIs.
diff --git a/customer/client.go b/customer/client.go
index 8a2baf13..c70ee3e2 100644
--- a/customer/client.go
+++ b/customer/client.go
@@ -10,8 +10,8 @@ package customer
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /customers APIs.
diff --git a/customerbalancetransaction/client.go b/customerbalancetransaction/client.go
index 89cf1d36..a632908f 100644
--- a/customerbalancetransaction/client.go
+++ b/customerbalancetransaction/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /customers/{customer}/balance_transactions APIs.
diff --git a/customercashbalancetransaction/client.go b/customercashbalancetransaction/client.go
index 3826d7b8..36b691fc 100644
--- a/customercashbalancetransaction/client.go
+++ b/customercashbalancetransaction/client.go
@@ -10,8 +10,8 @@ package customercashbalancetransaction
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /customers/{customer}/cash_balance_transactions APIs.
diff --git a/customersession/client.go b/customersession/client.go
index 5622032c..8bcc5bfe 100644
--- a/customersession/client.go
+++ b/customersession/client.go
@@ -10,7 +10,7 @@ package customersession
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /customer_sessions APIs.
diff --git a/dispute/client.go b/dispute/client.go
index 1fb0c893..d72faca4 100644
--- a/dispute/client.go
+++ b/dispute/client.go
@@ -10,8 +10,8 @@ package dispute
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /disputes APIs.
diff --git a/entitlements/activeentitlement/client.go b/entitlements/activeentitlement/client.go
index 76bb246e..0db015fb 100644
--- a/entitlements/activeentitlement/client.go
+++ b/entitlements/activeentitlement/client.go
@@ -10,8 +10,8 @@ package activeentitlement
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /entitlements/active_entitlements APIs.
diff --git a/entitlements/feature/client.go b/entitlements/feature/client.go
index 0c98fdbe..1631d14a 100644
--- a/entitlements/feature/client.go
+++ b/entitlements/feature/client.go
@@ -10,8 +10,8 @@ package feature
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /entitlements/features APIs.
diff --git a/ephemeralkey/client.go b/ephemeralkey/client.go
index 6652069a..68599cc9 100644
--- a/ephemeralkey/client.go
+++ b/ephemeralkey/client.go
@@ -11,7 +11,7 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /ephemeral_keys APIs.
diff --git a/event.go b/event.go
index 39526b37..a6832958 100644
--- a/event.go
+++ b/event.go
@@ -243,14 +243,6 @@ const (
 	EventTypeTreasuryReceivedCreditFailed                       EventType = "treasury.received_credit.failed"
 	EventTypeTreasuryReceivedCreditSucceeded                    EventType = "treasury.received_credit.succeeded"
 	EventTypeTreasuryReceivedDebitCreated                       EventType = "treasury.received_debit.created"
-	EventTypeInvoiceItemUpdated                                 EventType = "invoiceitem.updated"
-	EventTypeOrderCreated                                       EventType = "order.created"
-	EventTypeRecipientCreated                                   EventType = "recipient.created"
-	EventTypeRecipientDeleted                                   EventType = "recipient.deleted"
-	EventTypeRecipientUpdated                                   EventType = "recipient.updated"
-	EventTypeSKUCreated                                         EventType = "sku.created"
-	EventTypeSKUDeleted                                         EventType = "sku.deleted"
-	EventTypeSKUUpdated                                         EventType = "sku.updated"
 )
 
 // List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in [event object](https://stripe.com/docs/api/events/object) api_version attribute (not according to your current Stripe API version or Stripe-Version header).
diff --git a/event/client.go b/event/client.go
index 5f45fa3b..bf6fc2d8 100644
--- a/event/client.go
+++ b/event/client.go
@@ -10,8 +10,8 @@ package event
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /events APIs.
diff --git a/feerefund/client.go b/feerefund/client.go
index 1600b541..14cb720c 100644
--- a/feerefund/client.go
+++ b/feerefund/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /application_fees/{id}/refunds APIs.
diff --git a/file.go b/file.go
index 2e7efd58..3fab52cc 100644
--- a/file.go
+++ b/file.go
@@ -9,7 +9,7 @@ package stripe
 import (
 	"bytes"
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 	"io"
 	"mime/multipart"
 	"net/url"
diff --git a/file/client.go b/file/client.go
index 76e6814d..d8deda67 100644
--- a/file/client.go
+++ b/file/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /files APIs.
diff --git a/filelink.go b/filelink.go
index 7aa5740a..6fe389b4 100644
--- a/filelink.go
+++ b/filelink.go
@@ -6,7 +6,7 @@
 
 package stripe
 
-import "github.com/stripe/stripe-go/v76/form"
+import "github.com/stripe/stripe-go/v77/form"
 
 // Returns a list of file links.
 type FileLinkListParams struct {
diff --git a/filelink/client.go b/filelink/client.go
index 36f9e69f..335419c0 100644
--- a/filelink/client.go
+++ b/filelink/client.go
@@ -10,8 +10,8 @@ package filelink
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /file_links APIs.
diff --git a/financialconnections/account/client.go b/financialconnections/account/client.go
index 3168802a..6c986995 100644
--- a/financialconnections/account/client.go
+++ b/financialconnections/account/client.go
@@ -10,8 +10,8 @@ package account
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /financial_connections/accounts APIs.
diff --git a/financialconnections/session/client.go b/financialconnections/session/client.go
index d4f47c36..e178d230 100644
--- a/financialconnections/session/client.go
+++ b/financialconnections/session/client.go
@@ -10,7 +10,7 @@ package session
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /financial_connections/sessions APIs.
diff --git a/financialconnections/transaction/client.go b/financialconnections/transaction/client.go
index f21a462e..113e2c2e 100644
--- a/financialconnections/transaction/client.go
+++ b/financialconnections/transaction/client.go
@@ -10,8 +10,8 @@ package transaction
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /financial_connections/transactions APIs.
diff --git a/forwarding/request/client.go b/forwarding/request/client.go
index 4a31bf2c..b789b83f 100644
--- a/forwarding/request/client.go
+++ b/forwarding/request/client.go
@@ -10,8 +10,8 @@ package request
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /forwarding/requests APIs.
diff --git a/go.mod b/go.mod
index bc61a106..1a8258a8 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/stripe/stripe-go/v76
+module github.com/stripe/stripe-go/v77
 
 go 1.13
 
diff --git a/identity/verificationreport/client.go b/identity/verificationreport/client.go
index 76d18d7b..c8e429d5 100644
--- a/identity/verificationreport/client.go
+++ b/identity/verificationreport/client.go
@@ -10,8 +10,8 @@ package verificationreport
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /identity/verification_reports APIs.
diff --git a/identity/verificationsession/client.go b/identity/verificationsession/client.go
index e6682835..3dcd10da 100644
--- a/identity/verificationsession/client.go
+++ b/identity/verificationsession/client.go
@@ -10,8 +10,8 @@ package verificationsession
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /identity/verification_sessions APIs.
diff --git a/invoice.go b/invoice.go
index 01243e02..c6ad168b 100644
--- a/invoice.go
+++ b/invoice.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Type of the account referenced.
@@ -292,8 +292,6 @@ type InvoiceParams struct {
 	PendingInvoiceItemsBehavior *string `form:"pending_invoice_items_behavior"`
 	// The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page.
 	Rendering *InvoiceRenderingParams `form:"rendering"`
-	// This is a legacy field that will be removed soon. For details about `rendering_options`, refer to `rendering` instead. Options for invoice PDF rendering.
-	RenderingOptions *InvoiceRenderingOptionsParams `form:"rendering_options"`
 	// Settings for the cost of shipping for this invoice.
 	ShippingCost *InvoiceShippingCostParams `form:"shipping_cost"`
 	// Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer.
@@ -502,12 +500,6 @@ type InvoiceRenderingParams struct {
 	PDF *InvoiceRenderingPDFParams `form:"pdf"`
 }
 
-// This is a legacy field that will be removed soon. For details about `rendering_options`, refer to `rendering` instead. Options for invoice PDF rendering.
-type InvoiceRenderingOptionsParams struct {
-	// How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of `exclude_tax` or `include_inclusive_tax`. `include_inclusive_tax` will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. `exclude_tax` will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
-	AmountTaxDisplay *string `form:"amount_tax_display"`
-}
-
 // The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
 type InvoiceShippingCostShippingRateDataDeliveryEstimateMaximumParams struct {
 	// A unit of time.
@@ -1375,12 +1367,6 @@ type InvoiceRendering struct {
 	PDF *InvoiceRenderingPDF `json:"pdf"`
 }
 
-// This is a legacy field that will be removed soon. For details about `rendering_options`, refer to `rendering` instead. Options for invoice PDF rendering.
-type InvoiceRenderingOptions struct {
-	// How line-item prices and amounts will be displayed with respect to tax on invoice PDFs.
-	AmountTaxDisplay string `json:"amount_tax_display"`
-}
-
 // The taxes applied to the shipping rate.
 type InvoiceShippingCostTax struct {
 	// Amount of tax applied for this rate.
@@ -1634,8 +1620,6 @@ type Invoice struct {
 	ReceiptNumber string `json:"receipt_number"`
 	// The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page.
 	Rendering *InvoiceRendering `json:"rendering"`
-	// This is a legacy field that will be removed soon. For details about `rendering_options`, refer to `rendering` instead. Options for invoice PDF rendering.
-	RenderingOptions *InvoiceRenderingOptions `json:"rendering_options"`
 	// The details of the cost of shipping, including the ShippingRate applied on the invoice.
 	ShippingCost *InvoiceShippingCost `json:"shipping_cost"`
 	// Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer.
diff --git a/invoice/client.go b/invoice/client.go
index b08bc8bf..38262535 100644
--- a/invoice/client.go
+++ b/invoice/client.go
@@ -10,8 +10,8 @@ package invoice
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /invoices APIs.
diff --git a/invoiceitem/client.go b/invoiceitem/client.go
index 50393f30..50183bb7 100644
--- a/invoiceitem/client.go
+++ b/invoiceitem/client.go
@@ -10,8 +10,8 @@ package invoiceitem
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /invoiceitems APIs.
diff --git a/invoicelineitem/client.go b/invoicelineitem/client.go
index 4874ab38..47cf6825 100644
--- a/invoicelineitem/client.go
+++ b/invoicelineitem/client.go
@@ -10,7 +10,7 @@ package invoicelineitem
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /invoices/{invoice}/lines APIs.
diff --git a/issuing/authorization/client.go b/issuing/authorization/client.go
index 831eeb7b..c3803fe8 100644
--- a/issuing/authorization/client.go
+++ b/issuing/authorization/client.go
@@ -10,8 +10,8 @@ package authorization
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/authorizations APIs.
diff --git a/issuing/card/client.go b/issuing/card/client.go
index b32464e4..724e1963 100644
--- a/issuing/card/client.go
+++ b/issuing/card/client.go
@@ -10,8 +10,8 @@ package card
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/cards APIs.
diff --git a/issuing/cardholder/client.go b/issuing/cardholder/client.go
index 694beeee..1149e527 100644
--- a/issuing/cardholder/client.go
+++ b/issuing/cardholder/client.go
@@ -11,8 +11,8 @@ package cardholder
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/cardholders APIs.
diff --git a/issuing/dispute/client.go b/issuing/dispute/client.go
index d239996e..2f84370d 100644
--- a/issuing/dispute/client.go
+++ b/issuing/dispute/client.go
@@ -10,8 +10,8 @@ package dispute
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/disputes APIs.
diff --git a/issuing/personalizationdesign/client.go b/issuing/personalizationdesign/client.go
index be81db0c..7066ab13 100644
--- a/issuing/personalizationdesign/client.go
+++ b/issuing/personalizationdesign/client.go
@@ -10,8 +10,8 @@ package personalizationdesign
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/personalization_designs APIs.
diff --git a/issuing/physicalbundle/client.go b/issuing/physicalbundle/client.go
index 081ee41a..f6dcffdb 100644
--- a/issuing/physicalbundle/client.go
+++ b/issuing/physicalbundle/client.go
@@ -10,8 +10,8 @@ package physicalbundle
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/physical_bundles APIs.
diff --git a/issuing/token/client.go b/issuing/token/client.go
index 6d4b13d3..c6009b3c 100644
--- a/issuing/token/client.go
+++ b/issuing/token/client.go
@@ -10,8 +10,8 @@ package token
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/tokens APIs.
diff --git a/issuing/transaction/client.go b/issuing/transaction/client.go
index 8c42f097..aeae1731 100644
--- a/issuing/transaction/client.go
+++ b/issuing/transaction/client.go
@@ -10,8 +10,8 @@ package transaction
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /issuing/transactions APIs.
diff --git a/iter.go b/iter.go
index dcb81945..e56abc0c 100644
--- a/iter.go
+++ b/iter.go
@@ -3,7 +3,7 @@ package stripe
 import (
 	"reflect"
 
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 //
diff --git a/loginlink/client.go b/loginlink/client.go
index 42e15140..d4bbff86 100644
--- a/loginlink/client.go
+++ b/loginlink/client.go
@@ -11,7 +11,7 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /accounts/{account}/login_links APIs.
diff --git a/mandate/client.go b/mandate/client.go
index 52119ad6..5bc1b1d1 100644
--- a/mandate/client.go
+++ b/mandate/client.go
@@ -10,7 +10,7 @@ package mandate
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /mandates APIs.
diff --git a/oauth/client.go b/oauth/client.go
index 0c287c8f..5dc240bd 100644
--- a/oauth/client.go
+++ b/oauth/client.go
@@ -5,8 +5,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /oauth and related APIs.
diff --git a/params.go b/params.go
index d9ded2c2..4ca896ac 100644
--- a/params.go
+++ b/params.go
@@ -9,7 +9,7 @@ import (
 	"net/url"
 	"time"
 
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 //
diff --git a/paymentintent.go b/paymentintent.go
index 4664e5cc..4dcad9c8 100644
--- a/paymentintent.go
+++ b/paymentintent.go
@@ -919,9 +919,6 @@ type PaymentIntentMandateDataParams struct {
 	CustomerAcceptance *PaymentIntentMandateDataCustomerAcceptanceParams `form:"customer_acceptance"`
 }
 
-// If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
-type PaymentIntentPaymentMethodDataAffirmParams struct{}
-
 // Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
 type PaymentIntentPaymentMethodDataBillingDetailsParams struct {
 	// Billing address.
@@ -934,59 +931,12 @@ type PaymentIntentPaymentMethodDataBillingDetailsParams struct {
 	Phone *string `form:"phone"`
 }
 
-// If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
-type PaymentIntentPaymentMethodDataBLIKParams struct{}
-
-// If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
-type PaymentIntentPaymentMethodDataCashAppParams struct{}
-
-// If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
-type PaymentIntentPaymentMethodDataCustomerBalanceParams struct{}
-
-// If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
-type PaymentIntentPaymentMethodDataKonbiniParams struct{}
-
-// If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
-type PaymentIntentPaymentMethodDataLinkParams struct{}
-
-// If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
-type PaymentIntentPaymentMethodDataPayNowParams struct{}
-
-// If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
-type PaymentIntentPaymentMethodDataPaypalParams struct{}
-
-// If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
-type PaymentIntentPaymentMethodDataPixParams struct{}
-
-// If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
-type PaymentIntentPaymentMethodDataPromptPayParams struct{}
-
 // Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
 type PaymentIntentPaymentMethodDataRadarOptionsParams struct {
 	// A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
 	Session *string `form:"session"`
 }
 
-// If this is a `Revolut Pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
-type PaymentIntentPaymentMethodDataRevolutPayParams struct{}
-
-// If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
-type PaymentIntentPaymentMethodDataUSBankAccountParams struct {
-	// Account holder type: individual or company.
-	AccountHolderType *string `form:"account_holder_type"`
-	// Account number of the bank account.
-	AccountNumber *string `form:"account_number"`
-	// Account type: checkings or savings. Defaults to checking if omitted.
-	AccountType *string `form:"account_type"`
-	// The ID of a Financial Connections Account to use as a payment method.
-	FinancialConnectionsAccount *string `form:"financial_connections_account"`
-	// Routing number of the bank account.
-	RoutingNumber *string `form:"routing_number"`
-}
-
-// If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.
-type PaymentIntentPaymentMethodDataZipParams struct{}
-
 // If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear
 // in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)
 // property on the PaymentIntent.
@@ -994,7 +944,7 @@ type PaymentIntentPaymentMethodDataParams struct {
 	// If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
 	ACSSDebit *PaymentMethodACSSDebitParams `form:"acss_debit"`
 	// If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
-	Affirm *PaymentIntentPaymentMethodDataAffirmParams `form:"affirm"`
+	Affirm *PaymentMethodAffirmParams `form:"affirm"`
 	// If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
 	AfterpayClearpay *PaymentMethodAfterpayClearpayParams `form:"afterpay_clearpay"`
 	// If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.
@@ -1008,13 +958,13 @@ type PaymentIntentPaymentMethodDataParams struct {
 	// Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
 	BillingDetails *PaymentIntentPaymentMethodDataBillingDetailsParams `form:"billing_details"`
 	// If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
-	BLIK *PaymentIntentPaymentMethodDataBLIKParams `form:"blik"`
+	BLIK *PaymentMethodBLIKParams `form:"blik"`
 	// If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
 	Boleto *PaymentMethodBoletoParams `form:"boleto"`
 	// If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
-	CashApp *PaymentIntentPaymentMethodDataCashAppParams `form:"cashapp"`
+	CashApp *PaymentMethodCashAppParams `form:"cashapp"`
 	// If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
-	CustomerBalance *PaymentIntentPaymentMethodDataCustomerBalanceParams `form:"customer_balance"`
+	CustomerBalance *PaymentMethodCustomerBalanceParams `form:"customer_balance"`
 	// If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
 	EPS *PaymentMethodEPSParams `form:"eps"`
 	// If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.
@@ -1030,9 +980,9 @@ type PaymentIntentPaymentMethodDataParams struct {
 	// If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.
 	Klarna *PaymentMethodKlarnaParams `form:"klarna"`
 	// If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
-	Konbini *PaymentIntentPaymentMethodDataKonbiniParams `form:"konbini"`
+	Konbini *PaymentMethodKonbiniParams `form:"konbini"`
 	// If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
-	Link *PaymentIntentPaymentMethodDataLinkParams `form:"link"`
+	Link *PaymentMethodLinkParams `form:"link"`
 	// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
 	Metadata map[string]string `form:"metadata"`
 	// If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method.
@@ -1042,17 +992,17 @@ type PaymentIntentPaymentMethodDataParams struct {
 	// If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.
 	P24 *PaymentMethodP24Params `form:"p24"`
 	// If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
-	PayNow *PaymentIntentPaymentMethodDataPayNowParams `form:"paynow"`
+	PayNow *PaymentMethodPayNowParams `form:"paynow"`
 	// If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
-	Paypal *PaymentIntentPaymentMethodDataPaypalParams `form:"paypal"`
+	Paypal *PaymentMethodPaypalParams `form:"paypal"`
 	// If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
-	Pix *PaymentIntentPaymentMethodDataPixParams `form:"pix"`
+	Pix *PaymentMethodPixParams `form:"pix"`
 	// If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
-	PromptPay *PaymentIntentPaymentMethodDataPromptPayParams `form:"promptpay"`
+	PromptPay *PaymentMethodPromptPayParams `form:"promptpay"`
 	// Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
 	RadarOptions *PaymentIntentPaymentMethodDataRadarOptionsParams `form:"radar_options"`
 	// If this is a `Revolut Pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
-	RevolutPay *PaymentIntentPaymentMethodDataRevolutPayParams `form:"revolut_pay"`
+	RevolutPay *PaymentMethodRevolutPayParams `form:"revolut_pay"`
 	// If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
 	SEPADebit *PaymentMethodSEPADebitParams `form:"sepa_debit"`
 	// If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
@@ -1062,11 +1012,11 @@ type PaymentIntentPaymentMethodDataParams struct {
 	// The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
 	Type *string `form:"type"`
 	// If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
-	USBankAccount *PaymentIntentPaymentMethodDataUSBankAccountParams `form:"us_bank_account"`
+	USBankAccount *PaymentMethodUSBankAccountParams `form:"us_bank_account"`
 	// If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.
 	WeChatPay *PaymentMethodWeChatPayParams `form:"wechat_pay"`
 	// If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.
-	Zip *PaymentIntentPaymentMethodDataZipParams `form:"zip"`
+	Zip *PaymentMethodZipParams `form:"zip"`
 }
 
 // AddMetadata adds a new key-value pair to the Metadata.
@@ -1382,8 +1332,6 @@ type PaymentIntentPaymentMethodOptionsCardParams struct {
 type PaymentIntentPaymentMethodOptionsCardPresentParams struct {
 	// Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity)
 	RequestExtendedAuthorization *bool `form:"request_extended_authorization"`
-	// This field was released by mistake and will be removed in the next major version
-	RequestIncrementalAuthorization *string `form:"request_incremental_authorization"`
 	// Request ability to [increment](https://stripe.com/docs/terminal/features/incremental-authorizations) this PaymentIntent if the combination of MCC and card brand is eligible. Check [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) in the [Confirm](https://stripe.com/docs/api/payment_intents/confirm) response to verify support.
 	RequestIncrementalAuthorizationSupport *bool `form:"request_incremental_authorization_support"`
 }
diff --git a/paymentintent/client.go b/paymentintent/client.go
index 0ecdb33f..94945dca 100644
--- a/paymentintent/client.go
+++ b/paymentintent/client.go
@@ -10,8 +10,8 @@ package paymentintent
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /payment_intents APIs.
diff --git a/paymentlink/client.go b/paymentlink/client.go
index 6f6a838f..0913dc67 100644
--- a/paymentlink/client.go
+++ b/paymentlink/client.go
@@ -10,8 +10,8 @@ package paymentlink
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /payment_links APIs.
diff --git a/paymentmethod/client.go b/paymentmethod/client.go
index 0450c667..8b7bd5d2 100644
--- a/paymentmethod/client.go
+++ b/paymentmethod/client.go
@@ -10,8 +10,8 @@ package paymentmethod
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /payment_methods APIs.
diff --git a/paymentmethodconfiguration.go b/paymentmethodconfiguration.go
index 306921ef..8fd6511d 100644
--- a/paymentmethodconfiguration.go
+++ b/paymentmethodconfiguration.go
@@ -671,101 +671,6 @@ const (
 	PaymentMethodConfigurationZipDisplayPreferenceValueOn  PaymentMethodConfigurationZipDisplayPreferenceValue = "on"
 )
 
-// The account's display preference.
-type PaymentMethodConfigurationIDBankTransferDisplayPreferencePreference string
-
-// List of values that PaymentMethodConfigurationIDBankTransferDisplayPreferencePreference can take
-const (
-	PaymentMethodConfigurationIDBankTransferDisplayPreferencePreferenceNone PaymentMethodConfigurationIDBankTransferDisplayPreferencePreference = "none"
-	PaymentMethodConfigurationIDBankTransferDisplayPreferencePreferenceOff  PaymentMethodConfigurationIDBankTransferDisplayPreferencePreference = "off"
-	PaymentMethodConfigurationIDBankTransferDisplayPreferencePreferenceOn   PaymentMethodConfigurationIDBankTransferDisplayPreferencePreference = "on"
-)
-
-// The effective display preference value.
-type PaymentMethodConfigurationIDBankTransferDisplayPreferenceValue string
-
-// List of values that PaymentMethodConfigurationIDBankTransferDisplayPreferenceValue can take
-const (
-	PaymentMethodConfigurationIDBankTransferDisplayPreferenceValueOff PaymentMethodConfigurationIDBankTransferDisplayPreferenceValue = "off"
-	PaymentMethodConfigurationIDBankTransferDisplayPreferenceValueOn  PaymentMethodConfigurationIDBankTransferDisplayPreferenceValue = "on"
-)
-
-// The account's display preference.
-type PaymentMethodConfigurationMultibancoDisplayPreferencePreference string
-
-// List of values that PaymentMethodConfigurationMultibancoDisplayPreferencePreference can take
-const (
-	PaymentMethodConfigurationMultibancoDisplayPreferencePreferenceNone PaymentMethodConfigurationMultibancoDisplayPreferencePreference = "none"
-	PaymentMethodConfigurationMultibancoDisplayPreferencePreferenceOff  PaymentMethodConfigurationMultibancoDisplayPreferencePreference = "off"
-	PaymentMethodConfigurationMultibancoDisplayPreferencePreferenceOn   PaymentMethodConfigurationMultibancoDisplayPreferencePreference = "on"
-)
-
-// The effective display preference value.
-type PaymentMethodConfigurationMultibancoDisplayPreferenceValue string
-
-// List of values that PaymentMethodConfigurationMultibancoDisplayPreferenceValue can take
-const (
-	PaymentMethodConfigurationMultibancoDisplayPreferenceValueOff PaymentMethodConfigurationMultibancoDisplayPreferenceValue = "off"
-	PaymentMethodConfigurationMultibancoDisplayPreferenceValueOn  PaymentMethodConfigurationMultibancoDisplayPreferenceValue = "on"
-)
-
-// The account's display preference.
-type PaymentMethodConfigurationNetbankingDisplayPreferencePreference string
-
-// List of values that PaymentMethodConfigurationNetbankingDisplayPreferencePreference can take
-const (
-	PaymentMethodConfigurationNetbankingDisplayPreferencePreferenceNone PaymentMethodConfigurationNetbankingDisplayPreferencePreference = "none"
-	PaymentMethodConfigurationNetbankingDisplayPreferencePreferenceOff  PaymentMethodConfigurationNetbankingDisplayPreferencePreference = "off"
-	PaymentMethodConfigurationNetbankingDisplayPreferencePreferenceOn   PaymentMethodConfigurationNetbankingDisplayPreferencePreference = "on"
-)
-
-// The effective display preference value.
-type PaymentMethodConfigurationNetbankingDisplayPreferenceValue string
-
-// List of values that PaymentMethodConfigurationNetbankingDisplayPreferenceValue can take
-const (
-	PaymentMethodConfigurationNetbankingDisplayPreferenceValueOff PaymentMethodConfigurationNetbankingDisplayPreferenceValue = "off"
-	PaymentMethodConfigurationNetbankingDisplayPreferenceValueOn  PaymentMethodConfigurationNetbankingDisplayPreferenceValue = "on"
-)
-
-// The account's display preference.
-type PaymentMethodConfigurationPayByBankDisplayPreferencePreference string
-
-// List of values that PaymentMethodConfigurationPayByBankDisplayPreferencePreference can take
-const (
-	PaymentMethodConfigurationPayByBankDisplayPreferencePreferenceNone PaymentMethodConfigurationPayByBankDisplayPreferencePreference = "none"
-	PaymentMethodConfigurationPayByBankDisplayPreferencePreferenceOff  PaymentMethodConfigurationPayByBankDisplayPreferencePreference = "off"
-	PaymentMethodConfigurationPayByBankDisplayPreferencePreferenceOn   PaymentMethodConfigurationPayByBankDisplayPreferencePreference = "on"
-)
-
-// The effective display preference value.
-type PaymentMethodConfigurationPayByBankDisplayPreferenceValue string
-
-// List of values that PaymentMethodConfigurationPayByBankDisplayPreferenceValue can take
-const (
-	PaymentMethodConfigurationPayByBankDisplayPreferenceValueOff PaymentMethodConfigurationPayByBankDisplayPreferenceValue = "off"
-	PaymentMethodConfigurationPayByBankDisplayPreferenceValueOn  PaymentMethodConfigurationPayByBankDisplayPreferenceValue = "on"
-)
-
-// The account's display preference.
-type PaymentMethodConfigurationUpiDisplayPreferencePreference string
-
-// List of values that PaymentMethodConfigurationUpiDisplayPreferencePreference can take
-const (
-	PaymentMethodConfigurationUpiDisplayPreferencePreferenceNone PaymentMethodConfigurationUpiDisplayPreferencePreference = "none"
-	PaymentMethodConfigurationUpiDisplayPreferencePreferenceOff  PaymentMethodConfigurationUpiDisplayPreferencePreference = "off"
-	PaymentMethodConfigurationUpiDisplayPreferencePreferenceOn   PaymentMethodConfigurationUpiDisplayPreferencePreference = "on"
-)
-
-// The effective display preference value.
-type PaymentMethodConfigurationUpiDisplayPreferenceValue string
-
-// List of values that PaymentMethodConfigurationUpiDisplayPreferenceValue can take
-const (
-	PaymentMethodConfigurationUpiDisplayPreferenceValueOff PaymentMethodConfigurationUpiDisplayPreferenceValue = "off"
-	PaymentMethodConfigurationUpiDisplayPreferenceValueOn  PaymentMethodConfigurationUpiDisplayPreferenceValue = "on"
-)
-
 // List payment method configurations
 type PaymentMethodConfigurationListParams struct {
 	ListParams `form:"*"`
@@ -1757,71 +1662,6 @@ type PaymentMethodConfigurationZip struct {
 	Available         bool                                            `json:"available"`
 	DisplayPreference *PaymentMethodConfigurationZipDisplayPreference `json:"display_preference"`
 }
-type PaymentMethodConfigurationIDBankTransferDisplayPreference struct {
-	// For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used.
-	Overridable bool `json:"overridable"`
-	// The account's display preference.
-	Preference PaymentMethodConfigurationIDBankTransferDisplayPreferencePreference `json:"preference"`
-	// The effective display preference value.
-	Value PaymentMethodConfigurationIDBankTransferDisplayPreferenceValue `json:"value"`
-}
-type PaymentMethodConfigurationIDBankTransfer struct {
-	// Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active.
-	Available         bool                                                       `json:"available"`
-	DisplayPreference *PaymentMethodConfigurationIDBankTransferDisplayPreference `json:"display_preference"`
-}
-type PaymentMethodConfigurationMultibancoDisplayPreference struct {
-	// For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used.
-	Overridable bool `json:"overridable"`
-	// The account's display preference.
-	Preference PaymentMethodConfigurationMultibancoDisplayPreferencePreference `json:"preference"`
-	// The effective display preference value.
-	Value PaymentMethodConfigurationMultibancoDisplayPreferenceValue `json:"value"`
-}
-type PaymentMethodConfigurationMultibanco struct {
-	// Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active.
-	Available         bool                                                   `json:"available"`
-	DisplayPreference *PaymentMethodConfigurationMultibancoDisplayPreference `json:"display_preference"`
-}
-type PaymentMethodConfigurationNetbankingDisplayPreference struct {
-	// For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used.
-	Overridable bool `json:"overridable"`
-	// The account's display preference.
-	Preference PaymentMethodConfigurationNetbankingDisplayPreferencePreference `json:"preference"`
-	// The effective display preference value.
-	Value PaymentMethodConfigurationNetbankingDisplayPreferenceValue `json:"value"`
-}
-type PaymentMethodConfigurationNetbanking struct {
-	// Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active.
-	Available         bool                                                   `json:"available"`
-	DisplayPreference *PaymentMethodConfigurationNetbankingDisplayPreference `json:"display_preference"`
-}
-type PaymentMethodConfigurationPayByBankDisplayPreference struct {
-	// For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used.
-	Overridable bool `json:"overridable"`
-	// The account's display preference.
-	Preference PaymentMethodConfigurationPayByBankDisplayPreferencePreference `json:"preference"`
-	// The effective display preference value.
-	Value PaymentMethodConfigurationPayByBankDisplayPreferenceValue `json:"value"`
-}
-type PaymentMethodConfigurationPayByBank struct {
-	// Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active.
-	Available         bool                                                  `json:"available"`
-	DisplayPreference *PaymentMethodConfigurationPayByBankDisplayPreference `json:"display_preference"`
-}
-type PaymentMethodConfigurationUpiDisplayPreference struct {
-	// For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used.
-	Overridable bool `json:"overridable"`
-	// The account's display preference.
-	Preference PaymentMethodConfigurationUpiDisplayPreferencePreference `json:"preference"`
-	// The effective display preference value.
-	Value PaymentMethodConfigurationUpiDisplayPreferenceValue `json:"value"`
-}
-type PaymentMethodConfigurationUpi struct {
-	// Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active.
-	Available         bool                                            `json:"available"`
-	DisplayPreference *PaymentMethodConfigurationUpiDisplayPreference `json:"display_preference"`
-}
 
 // PaymentMethodConfigurations control which payment methods are displayed to your customers when you don't explicitly specify payment method types. You can have multiple configurations with different sets of payment methods for different scenarios.
 //
@@ -1863,9 +1703,8 @@ type PaymentMethodConfiguration struct {
 	GooglePay       *PaymentMethodConfigurationGooglePay       `json:"google_pay"`
 	Grabpay         *PaymentMethodConfigurationGrabpay         `json:"grabpay"`
 	// Unique identifier for the object.
-	ID             string                                    `json:"id"`
-	IDBankTransfer *PaymentMethodConfigurationIDBankTransfer `json:"id_bank_transfer"`
-	IDEAL          *PaymentMethodConfigurationIDEAL          `json:"ideal"`
+	ID    string                           `json:"id"`
+	IDEAL *PaymentMethodConfigurationIDEAL `json:"ideal"`
 	// The default configuration is used whenever a payment method configuration is not specified.
 	IsDefault bool                               `json:"is_default"`
 	JCB       *PaymentMethodConfigurationJCB     `json:"jcb"`
@@ -1873,25 +1712,21 @@ type PaymentMethodConfiguration struct {
 	Konbini   *PaymentMethodConfigurationKonbini `json:"konbini"`
 	Link      *PaymentMethodConfigurationLink    `json:"link"`
 	// Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
-	Livemode   bool                                  `json:"livemode"`
-	Multibanco *PaymentMethodConfigurationMultibanco `json:"multibanco"`
+	Livemode bool `json:"livemode"`
 	// The configuration's name.
-	Name       string                                `json:"name"`
-	Netbanking *PaymentMethodConfigurationNetbanking `json:"netbanking"`
+	Name string `json:"name"`
 	// String representing the object's type. Objects of the same type share the same value.
 	Object string                          `json:"object"`
 	OXXO   *PaymentMethodConfigurationOXXO `json:"oxxo"`
 	P24    *PaymentMethodConfigurationP24  `json:"p24"`
 	// For child configs, the configuration's parent configuration.
 	Parent        string                                   `json:"parent"`
-	PayByBank     *PaymentMethodConfigurationPayByBank     `json:"pay_by_bank"`
 	PayNow        *PaymentMethodConfigurationPayNow        `json:"paynow"`
 	Paypal        *PaymentMethodConfigurationPaypal        `json:"paypal"`
 	PromptPay     *PaymentMethodConfigurationPromptPay     `json:"promptpay"`
 	RevolutPay    *PaymentMethodConfigurationRevolutPay    `json:"revolut_pay"`
 	SEPADebit     *PaymentMethodConfigurationSEPADebit     `json:"sepa_debit"`
 	Sofort        *PaymentMethodConfigurationSofort        `json:"sofort"`
-	Upi           *PaymentMethodConfigurationUpi           `json:"upi"`
 	USBankAccount *PaymentMethodConfigurationUSBankAccount `json:"us_bank_account"`
 	WeChatPay     *PaymentMethodConfigurationWeChatPay     `json:"wechat_pay"`
 	Zip           *PaymentMethodConfigurationZip           `json:"zip"`
diff --git a/paymentmethodconfiguration/client.go b/paymentmethodconfiguration/client.go
index 1824d91d..c33af0f2 100644
--- a/paymentmethodconfiguration/client.go
+++ b/paymentmethodconfiguration/client.go
@@ -10,8 +10,8 @@ package paymentmethodconfiguration
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /payment_method_configurations APIs.
diff --git a/paymentmethoddomain/client.go b/paymentmethoddomain/client.go
index ddadb45a..9aa31c68 100644
--- a/paymentmethoddomain/client.go
+++ b/paymentmethoddomain/client.go
@@ -10,8 +10,8 @@ package paymentmethoddomain
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /payment_method_domains APIs.
diff --git a/paymentsource.go b/paymentsource.go
index f08006c1..81a7546f 100644
--- a/paymentsource.go
+++ b/paymentsource.go
@@ -9,7 +9,7 @@ package stripe
 import (
 	"encoding/json"
 	"fmt"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 type PaymentSourceType string
diff --git a/paymentsource/client.go b/paymentsource/client.go
index 3323c34b..594dd74d 100644
--- a/paymentsource/client.go
+++ b/paymentsource/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /customers/{customer}/sources APIs.
diff --git a/payout/client.go b/payout/client.go
index 8b682239..17874780 100644
--- a/payout/client.go
+++ b/payout/client.go
@@ -10,8 +10,8 @@ package payout
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /payouts APIs.
diff --git a/person/client.go b/person/client.go
index d3e71505..0f432bb3 100644
--- a/person/client.go
+++ b/person/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /accounts/{account}/persons APIs.
diff --git a/plan.go b/plan.go
index b32ff71c..a8e8b898 100644
--- a/plan.go
+++ b/plan.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 	"strconv"
 )
 
diff --git a/plan/client.go b/plan/client.go
index fd925339..afb62c30 100644
--- a/plan/client.go
+++ b/plan/client.go
@@ -10,8 +10,8 @@ package plan
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /plans APIs.
diff --git a/price.go b/price.go
index 77ee8792..134338df 100644
--- a/price.go
+++ b/price.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.
diff --git a/price/client.go b/price/client.go
index ca55d236..94e94377 100644
--- a/price/client.go
+++ b/price/client.go
@@ -10,8 +10,8 @@ package price
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /prices APIs.
diff --git a/product.go b/product.go
index e61503c8..f2df0494 100644
--- a/product.go
+++ b/product.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // The type of the product. The product is either of type `good`, which is eligible for use with Orders and SKUs, or `service`, which is eligible for use with Subscriptions and Plans.
@@ -33,12 +33,12 @@ type ProductParams struct {
 	Description *string `form:"description"`
 	// Specifies which fields in the response should be expanded.
 	Expand []*string `form:"expand"`
-	// A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).
-	Features []*ProductFeatureParams `form:"features"`
 	// An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account.
 	ID *string `form:"id"`
 	// A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
 	Images []*string `form:"images"`
+	// A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).
+	MarketingFeatures []*ProductMarketingFeatureParams `form:"marketing_features"`
 	// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
 	Metadata map[string]string `form:"metadata"`
 	// The product's name, meant to be displayable to the customer.
@@ -77,7 +77,7 @@ func (p *ProductParams) AddMetadata(key string, value string) {
 }
 
 // A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).
-type ProductFeatureParams struct {
+type ProductMarketingFeatureParams struct {
 	// The marketing feature name. Up to 80 characters long.
 	Name *string `form:"name"`
 }
@@ -210,7 +210,7 @@ func (p *ProductSearchParams) AddExpand(f string) {
 }
 
 // A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).
-type ProductFeature struct {
+type ProductMarketingFeature struct {
 	// The marketing feature name. Up to 80 characters long.
 	Name string `json:"name"`
 }
@@ -246,14 +246,14 @@ type Product struct {
 	Deleted      bool   `json:"deleted"`
 	// The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
 	Description string `json:"description"`
-	// A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).
-	Features []*ProductFeature `json:"features"`
 	// Unique identifier for the object.
 	ID string `json:"id"`
 	// A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
 	Images []string `json:"images"`
 	// Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
 	Livemode bool `json:"livemode"`
+	// A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).
+	MarketingFeatures []*ProductMarketingFeature `json:"marketing_features"`
 	// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
 	Metadata map[string]string `json:"metadata"`
 	// The product's name, meant to be displayable to the customer.
diff --git a/product/client.go b/product/client.go
index d2fc82ea..07bd1ced 100644
--- a/product/client.go
+++ b/product/client.go
@@ -10,8 +10,8 @@ package product
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /products APIs.
diff --git a/productfeature.go b/productfeature.go
new file mode 100644
index 00000000..ce6ebc38
--- /dev/null
+++ b/productfeature.go
@@ -0,0 +1,58 @@
+//
+//
+// File generated from our OpenAPI spec
+//
+//
+
+package stripe
+
+// Deletes the feature attachment to a product
+type ProductFeatureParams struct {
+	Params  `form:"*"`
+	Product *string `form:"-"` // Included in URL
+	// The ID of the [Feature](docs/api/entitlements/feature) object attached to this product.
+	EntitlementFeature *string `form:"entitlement_feature"`
+	// Specifies which fields in the response should be expanded.
+	Expand []*string `form:"expand"`
+}
+
+// AddExpand appends a new field to expand.
+func (p *ProductFeatureParams) AddExpand(f string) {
+	p.Expand = append(p.Expand, &f)
+}
+
+// Retrieve a list of features for a product
+type ProductFeatureListParams struct {
+	ListParams `form:"*"`
+	Product    *string `form:"-"` // Included in URL
+	// Specifies which fields in the response should be expanded.
+	Expand []*string `form:"expand"`
+}
+
+// AddExpand appends a new field to expand.
+func (p *ProductFeatureListParams) AddExpand(f string) {
+	p.Expand = append(p.Expand, &f)
+}
+
+// A product_feature represents an attachment between a feature and a product.
+// When a product is purchased that has a feature attached, Stripe will create an entitlement to the feature for the purchasing customer.
+type ProductFeature struct {
+	APIResource
+	Deleted bool `json:"deleted"`
+	// A feature represents a monetizable ability or functionality in your system.
+	// Features can be assigned to products, and when those products are purchased, Stripe will create an entitlement to the feature for the purchasing customer.
+	EntitlementFeature *EntitlementsFeature `json:"entitlement_feature"`
+	// Unique identifier for the object.
+	ID string `json:"id"`
+	// Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+	Livemode bool `json:"livemode"`
+	// String representing the object's type. Objects of the same type share the same value.
+	Object string `json:"object"`
+}
+
+// ProductFeatureList is a list of ProductFeatures as retrieved from a list endpoint.
+type ProductFeatureList struct {
+	APIResource
+	ListMeta
+	Data []*ProductFeature `json:"data"`
+}
diff --git a/productfeature/client.go b/productfeature/client.go
new file mode 100644
index 00000000..8c8899f0
--- /dev/null
+++ b/productfeature/client.go
@@ -0,0 +1,118 @@
+//
+//
+// File generated from our OpenAPI spec
+//
+//
+
+// Package productfeature provides the /products/{product}/features APIs
+package productfeature
+
+import (
+	"net/http"
+
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
+)
+
+// Client is used to invoke /products/{product}/features APIs.
+type Client struct {
+	B   stripe.Backend
+	Key string
+}
+
+// New creates a new product feature.
+func New(params *stripe.ProductFeatureParams) (*stripe.ProductFeature, error) {
+	return getC().New(params)
+}
+
+// New creates a new product feature.
+func (c Client) New(params *stripe.ProductFeatureParams) (*stripe.ProductFeature, error) {
+	path := stripe.FormatURLPath(
+		"/v1/products/%s/features",
+		stripe.StringValue(params.Product),
+	)
+	productfeature := &stripe.ProductFeature{}
+	err := c.B.Call(http.MethodPost, path, c.Key, params, productfeature)
+	return productfeature, err
+}
+
+// Get returns the details of a product feature.
+func Get(id string, params *stripe.ProductFeatureParams) (*stripe.ProductFeature, error) {
+	return getC().Get(id, params)
+}
+
+// Get returns the details of a product feature.
+func (c Client) Get(id string, params *stripe.ProductFeatureParams) (*stripe.ProductFeature, error) {
+	path := stripe.FormatURLPath(
+		"/v1/products/%s/features/%s",
+		stripe.StringValue(params.Product),
+		id,
+	)
+	productfeature := &stripe.ProductFeature{}
+	err := c.B.Call(http.MethodGet, path, c.Key, params, productfeature)
+	return productfeature, err
+}
+
+// Del removes a product feature.
+func Del(id string, params *stripe.ProductFeatureParams) (*stripe.ProductFeature, error) {
+	return getC().Del(id, params)
+}
+
+// Del removes a product feature.
+func (c Client) Del(id string, params *stripe.ProductFeatureParams) (*stripe.ProductFeature, error) {
+	path := stripe.FormatURLPath(
+		"/v1/products/%s/features/%s",
+		stripe.StringValue(params.Product),
+		id,
+	)
+	productfeature := &stripe.ProductFeature{}
+	err := c.B.Call(http.MethodDelete, path, c.Key, params, productfeature)
+	return productfeature, err
+}
+
+// List returns a list of product features.
+func List(params *stripe.ProductFeatureListParams) *Iter {
+	return getC().List(params)
+}
+
+// List returns a list of product features.
+func (c Client) List(listParams *stripe.ProductFeatureListParams) *Iter {
+	path := stripe.FormatURLPath(
+		"/v1/products/%s/features",
+		stripe.StringValue(listParams.Product),
+	)
+	return &Iter{
+		Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) {
+			list := &stripe.ProductFeatureList{}
+			err := c.B.CallRaw(http.MethodGet, path, c.Key, b, p, list)
+
+			ret := make([]interface{}, len(list.Data))
+			for i, v := range list.Data {
+				ret[i] = v
+			}
+
+			return ret, list, err
+		}),
+	}
+}
+
+// Iter is an iterator for product features.
+type Iter struct {
+	*stripe.Iter
+}
+
+// ProductFeature returns the product feature which the iterator is currently pointing to.
+func (i *Iter) ProductFeature() *stripe.ProductFeature {
+	return i.Current().(*stripe.ProductFeature)
+}
+
+// ProductFeatureList returns the current list object which the iterator is
+// currently using. List objects will change as new API calls are made to
+// continue pagination.
+func (i *Iter) ProductFeatureList() *stripe.ProductFeatureList {
+	return i.List().(*stripe.ProductFeatureList)
+}
+
+func getC() Client {
+	return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key}
+}
diff --git a/promotioncode/client.go b/promotioncode/client.go
index eb68c8c3..27dd2309 100644
--- a/promotioncode/client.go
+++ b/promotioncode/client.go
@@ -10,8 +10,8 @@ package promotioncode
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /promotion_codes APIs.
diff --git a/quote.go b/quote.go
index 984285f7..df562409 100644
--- a/quote.go
+++ b/quote.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Type of the account referenced.
diff --git a/quote/client.go b/quote/client.go
index 9afce9ab..806368c9 100644
--- a/quote/client.go
+++ b/quote/client.go
@@ -10,8 +10,8 @@ package quote
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /quotes APIs.
diff --git a/radar/earlyfraudwarning/client.go b/radar/earlyfraudwarning/client.go
index b827d52c..3838b1f3 100644
--- a/radar/earlyfraudwarning/client.go
+++ b/radar/earlyfraudwarning/client.go
@@ -10,8 +10,8 @@ package earlyfraudwarning
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /radar/early_fraud_warnings APIs.
diff --git a/radar/valuelist/client.go b/radar/valuelist/client.go
index 0981ea77..ebf9482d 100644
--- a/radar/valuelist/client.go
+++ b/radar/valuelist/client.go
@@ -10,8 +10,8 @@ package valuelist
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /radar/value_lists APIs.
diff --git a/radar/valuelistitem/client.go b/radar/valuelistitem/client.go
index 8dd4f6a6..0e69fa18 100644
--- a/radar/valuelistitem/client.go
+++ b/radar/valuelistitem/client.go
@@ -11,8 +11,8 @@ package valuelistitem
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /radar/value_list_items APIs.
diff --git a/refund/client.go b/refund/client.go
index 78c9c676..761b83f4 100644
--- a/refund/client.go
+++ b/refund/client.go
@@ -10,8 +10,8 @@ package refund
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /refunds APIs.
diff --git a/reporting/reportrun/client.go b/reporting/reportrun/client.go
index 49f9825f..a39f5809 100644
--- a/reporting/reportrun/client.go
+++ b/reporting/reportrun/client.go
@@ -10,8 +10,8 @@ package reportrun
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /reporting/report_runs APIs.
diff --git a/reporting/reporttype/client.go b/reporting/reporttype/client.go
index 9dcb0877..a061e3bb 100644
--- a/reporting/reporttype/client.go
+++ b/reporting/reporttype/client.go
@@ -10,8 +10,8 @@ package reporttype
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /reporting/report_types APIs.
diff --git a/review/client.go b/review/client.go
index f72c3b0a..ef29ea74 100644
--- a/review/client.go
+++ b/review/client.go
@@ -10,8 +10,8 @@ package review
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /reviews APIs.
diff --git a/search_iter.go b/search_iter.go
index a16e1389..59756d0d 100644
--- a/search_iter.go
+++ b/search_iter.go
@@ -3,7 +3,7 @@ package stripe
 import (
 	"reflect"
 
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 //
diff --git a/setupattempt/client.go b/setupattempt/client.go
index 84a9eb73..a755734a 100644
--- a/setupattempt/client.go
+++ b/setupattempt/client.go
@@ -11,8 +11,8 @@ package setupattempt
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /setup_attempts APIs.
diff --git a/setupintent.go b/setupintent.go
index 9b766ba7..91a1c38a 100644
--- a/setupintent.go
+++ b/setupintent.go
@@ -160,10 +160,9 @@ type SetupIntentPaymentMethodOptionsCardRequestThreeDSecure string
 
 // List of values that SetupIntentPaymentMethodOptionsCardRequestThreeDSecure can take
 const (
-	SetupIntentPaymentMethodOptionsCardRequestThreeDSecureAny           SetupIntentPaymentMethodOptionsCardRequestThreeDSecure = "any"
-	SetupIntentPaymentMethodOptionsCardRequestThreeDSecureAutomatic     SetupIntentPaymentMethodOptionsCardRequestThreeDSecure = "automatic"
-	SetupIntentPaymentMethodOptionsCardRequestThreeDSecureChallenge     SetupIntentPaymentMethodOptionsCardRequestThreeDSecure = "challenge"
-	SetupIntentPaymentMethodOptionsCardRequestThreeDSecureChallengeOnly SetupIntentPaymentMethodOptionsCardRequestThreeDSecure = "challenge_only"
+	SetupIntentPaymentMethodOptionsCardRequestThreeDSecureAny       SetupIntentPaymentMethodOptionsCardRequestThreeDSecure = "any"
+	SetupIntentPaymentMethodOptionsCardRequestThreeDSecureAutomatic SetupIntentPaymentMethodOptionsCardRequestThreeDSecure = "automatic"
+	SetupIntentPaymentMethodOptionsCardRequestThreeDSecureChallenge SetupIntentPaymentMethodOptionsCardRequestThreeDSecure = "challenge"
 )
 
 // The list of permissions to request. The `payment_method` permission must be included.
diff --git a/setupintent/client.go b/setupintent/client.go
index 9f7b8c91..4c1dddd0 100644
--- a/setupintent/client.go
+++ b/setupintent/client.go
@@ -10,8 +10,8 @@ package setupintent
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /setup_intents APIs.
diff --git a/shippingrate/client.go b/shippingrate/client.go
index 140a9949..2ee98682 100644
--- a/shippingrate/client.go
+++ b/shippingrate/client.go
@@ -10,8 +10,8 @@ package shippingrate
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /shipping_rates APIs.
diff --git a/sigma/scheduledqueryrun/client.go b/sigma/scheduledqueryrun/client.go
index a5381bb1..083ace50 100644
--- a/sigma/scheduledqueryrun/client.go
+++ b/sigma/scheduledqueryrun/client.go
@@ -11,8 +11,8 @@ package scheduledqueryrun
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /sigma/scheduled_query_runs APIs.
diff --git a/source/client.go b/source/client.go
index 43d76445..9a34b292 100644
--- a/source/client.go
+++ b/source/client.go
@@ -11,7 +11,7 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /sources APIs.
diff --git a/sourcetransaction/client.go b/sourcetransaction/client.go
index da4b84ff..a47e8faf 100644
--- a/sourcetransaction/client.go
+++ b/sourcetransaction/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /sources/:source_id/transactions APIs.
diff --git a/stripe.go b/stripe.go
index 64d69b77..a88efd5f 100644
--- a/stripe.go
+++ b/stripe.go
@@ -22,7 +22,7 @@ import (
 	"sync"
 	"time"
 
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 //
@@ -929,16 +929,12 @@ func (s *BackendImplementation) shouldRetry(err error, req *http.Request, resp *
 		}
 	}
 
-	// 500 Internal Server Error
+	// Retry on 500, 503, and other internal errors.
 	//
-	// We only bother retrying these for non-POST requests. POSTs end up being
-	// cached by the idempotency layer so there's no purpose in retrying them.
-	if resp.StatusCode >= http.StatusInternalServerError && req.Method != http.MethodPost {
-		return true, ""
-	}
-
-	// 503 Service Unavailable
-	if resp.StatusCode == http.StatusServiceUnavailable {
+	// Note that we expect the stripe-should-retry header to be false
+	// in most cases when a 500 is returned, since our idempotency framework
+	// would typically replay it anyway.
+	if resp.StatusCode >= http.StatusInternalServerError {
 		return true, ""
 	}
 
diff --git a/subscription.go b/subscription.go
index 6db6e853..23c579a0 100644
--- a/subscription.go
+++ b/subscription.go
@@ -8,7 +8,8 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Type of the account referenced.
diff --git a/subscription/client.go b/subscription/client.go
index 58490faa..5801c470 100644
--- a/subscription/client.go
+++ b/subscription/client.go
@@ -10,8 +10,8 @@ package subscription
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /subscriptions APIs.
diff --git a/subscriptionitem/client.go b/subscriptionitem/client.go
index 638e63fa..09b9987e 100644
--- a/subscriptionitem/client.go
+++ b/subscriptionitem/client.go
@@ -10,8 +10,8 @@ package subscriptionitem
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /subscription_items APIs.
diff --git a/subscriptionschedule.go b/subscriptionschedule.go
index 8a00870a..2d665517 100644
--- a/subscriptionschedule.go
+++ b/subscriptionschedule.go
@@ -8,7 +8,7 @@ package stripe
 
 import (
 	"encoding/json"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
diff --git a/subscriptionschedule/client.go b/subscriptionschedule/client.go
index aee26c28..ff2cfb1f 100644
--- a/subscriptionschedule/client.go
+++ b/subscriptionschedule/client.go
@@ -10,8 +10,8 @@ package subscriptionschedule
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /subscription_schedules APIs.
diff --git a/tax/calculation/client.go b/tax/calculation/client.go
index eff7dcef..7f379ddc 100644
--- a/tax/calculation/client.go
+++ b/tax/calculation/client.go
@@ -10,8 +10,8 @@ package calculation
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /tax/calculations APIs.
diff --git a/tax/registration/client.go b/tax/registration/client.go
index 057977dc..f7c59c3a 100644
--- a/tax/registration/client.go
+++ b/tax/registration/client.go
@@ -10,8 +10,8 @@ package registration
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /tax/registrations APIs.
diff --git a/tax/settings/client.go b/tax/settings/client.go
index 24246c3c..cc1658ab 100644
--- a/tax/settings/client.go
+++ b/tax/settings/client.go
@@ -10,7 +10,7 @@ package settings
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /tax/settings APIs.
diff --git a/tax/transaction/client.go b/tax/transaction/client.go
index fb55824d..579421a8 100644
--- a/tax/transaction/client.go
+++ b/tax/transaction/client.go
@@ -10,8 +10,8 @@ package transaction
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /tax/transactions APIs.
diff --git a/tax_registration.go b/tax_registration.go
index e0ebd59e..d9ca332d 100644
--- a/tax_registration.go
+++ b/tax_registration.go
@@ -6,7 +6,7 @@
 
 package stripe
 
-import "github.com/stripe/stripe-go/v76/form"
+import "github.com/stripe/stripe-go/v77/form"
 
 // Type of registration in `country`.
 type TaxRegistrationCountryOptionsAeType string
diff --git a/taxcode/client.go b/taxcode/client.go
index 3fe848d7..832b8407 100644
--- a/taxcode/client.go
+++ b/taxcode/client.go
@@ -10,8 +10,8 @@ package taxcode
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /tax_codes APIs.
diff --git a/taxid/client.go b/taxid/client.go
index 70ab30e6..d8938804 100644
--- a/taxid/client.go
+++ b/taxid/client.go
@@ -10,8 +10,8 @@ package taxid
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /tax_ids APIs.
diff --git a/taxrate.go b/taxrate.go
index 59059c1b..af89493f 100644
--- a/taxrate.go
+++ b/taxrate.go
@@ -38,7 +38,6 @@ const (
 	TaxRateTaxTypeRST               TaxRateTaxType = "rst"
 	TaxRateTaxTypeSalesTax          TaxRateTaxType = "sales_tax"
 	TaxRateTaxTypeVAT               TaxRateTaxType = "vat"
-	TaxRateTaxTypeServiceTax        TaxRateTaxType = "service_tax"
 )
 
 // Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.
diff --git a/taxrate/client.go b/taxrate/client.go
index 9317650b..82125584 100644
--- a/taxrate/client.go
+++ b/taxrate/client.go
@@ -10,8 +10,8 @@ package taxrate
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /tax_rates APIs.
diff --git a/terminal/configuration/client.go b/terminal/configuration/client.go
index 00d5187c..bcf8b467 100644
--- a/terminal/configuration/client.go
+++ b/terminal/configuration/client.go
@@ -10,8 +10,8 @@ package configuration
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /terminal/configurations APIs.
diff --git a/terminal/connectiontoken/client.go b/terminal/connectiontoken/client.go
index 8623224a..d860e4b9 100644
--- a/terminal/connectiontoken/client.go
+++ b/terminal/connectiontoken/client.go
@@ -10,7 +10,7 @@ package connectiontoken
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /terminal/connection_tokens APIs.
diff --git a/terminal/location/client.go b/terminal/location/client.go
index 5d0fe778..52c29cb0 100644
--- a/terminal/location/client.go
+++ b/terminal/location/client.go
@@ -10,8 +10,8 @@ package location
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /terminal/locations APIs.
diff --git a/terminal/reader/client.go b/terminal/reader/client.go
index 54225ded..3e782c6d 100644
--- a/terminal/reader/client.go
+++ b/terminal/reader/client.go
@@ -10,8 +10,8 @@ package reader
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /terminal/readers APIs.
diff --git a/terminal_reader.go b/terminal_reader.go
index 26d8d8b4..580345c9 100644
--- a/terminal_reader.go
+++ b/terminal_reader.go
@@ -59,6 +59,15 @@ const (
 	TerminalReaderDeviceTypeVerifoneP400      TerminalReaderDeviceType = "verifone_P400"
 )
 
+// The networking status of the reader.
+type TerminalReaderStatus string
+
+// List of values that TerminalReaderStatus can take
+const (
+	TerminalReaderStatusOffline TerminalReaderStatus = "offline"
+	TerminalReaderStatusOnline  TerminalReaderStatus = "online"
+)
+
 // Deletes a Reader object.
 type TerminalReaderParams struct {
 	Params `form:"*"`
@@ -402,7 +411,7 @@ type TerminalReader struct {
 	// Serial number of the reader.
 	SerialNumber string `json:"serial_number"`
 	// The networking status of the reader.
-	Status string `json:"status"`
+	Status TerminalReaderStatus `json:"status"`
 }
 
 // TerminalReaderList is a list of Readers as retrieved from a list endpoint.
diff --git a/token/client.go b/token/client.go
index 2bd6c549..7696d163 100644
--- a/token/client.go
+++ b/token/client.go
@@ -10,7 +10,7 @@ package token
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /tokens APIs.
diff --git a/topup/client.go b/topup/client.go
index 89bd5966..fbd58aba 100644
--- a/topup/client.go
+++ b/topup/client.go
@@ -10,8 +10,8 @@ package topup
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /topups APIs.
diff --git a/transfer/client.go b/transfer/client.go
index 933113f0..c2ea4683 100644
--- a/transfer/client.go
+++ b/transfer/client.go
@@ -10,8 +10,8 @@ package transfer
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /transfers APIs.
diff --git a/transferreversal/client.go b/transferreversal/client.go
index 22b3e509..853b2fc2 100644
--- a/transferreversal/client.go
+++ b/transferreversal/client.go
@@ -11,8 +11,8 @@ import (
 	"fmt"
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /transfers/{id}/reversals APIs.
diff --git a/treasury/creditreversal/client.go b/treasury/creditreversal/client.go
index 0ebd3f41..84d4fbe0 100644
--- a/treasury/creditreversal/client.go
+++ b/treasury/creditreversal/client.go
@@ -10,8 +10,8 @@ package creditreversal
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/credit_reversals APIs.
diff --git a/treasury/debitreversal/client.go b/treasury/debitreversal/client.go
index eec7b669..0aa47a9a 100644
--- a/treasury/debitreversal/client.go
+++ b/treasury/debitreversal/client.go
@@ -10,8 +10,8 @@ package debitreversal
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/debit_reversals APIs.
diff --git a/treasury/financialaccount/client.go b/treasury/financialaccount/client.go
index a07bb583..2fa6fbba 100644
--- a/treasury/financialaccount/client.go
+++ b/treasury/financialaccount/client.go
@@ -10,8 +10,8 @@ package financialaccount
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/financial_accounts APIs.
diff --git a/treasury/inboundtransfer/client.go b/treasury/inboundtransfer/client.go
index d7e8d2cd..3c26477c 100644
--- a/treasury/inboundtransfer/client.go
+++ b/treasury/inboundtransfer/client.go
@@ -10,8 +10,8 @@ package inboundtransfer
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/inbound_transfers APIs.
diff --git a/treasury/outboundpayment/client.go b/treasury/outboundpayment/client.go
index 31d02957..a599b56c 100644
--- a/treasury/outboundpayment/client.go
+++ b/treasury/outboundpayment/client.go
@@ -10,8 +10,8 @@ package outboundpayment
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/outbound_payments APIs.
diff --git a/treasury/outboundtransfer/client.go b/treasury/outboundtransfer/client.go
index da92daef..d33fe203 100644
--- a/treasury/outboundtransfer/client.go
+++ b/treasury/outboundtransfer/client.go
@@ -10,8 +10,8 @@ package outboundtransfer
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/outbound_transfers APIs.
diff --git a/treasury/receivedcredit/client.go b/treasury/receivedcredit/client.go
index b88aa1f7..e3bd5b9a 100644
--- a/treasury/receivedcredit/client.go
+++ b/treasury/receivedcredit/client.go
@@ -10,8 +10,8 @@ package receivedcredit
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/received_credits APIs.
diff --git a/treasury/receiveddebit/client.go b/treasury/receiveddebit/client.go
index c7e4d757..acae56ce 100644
--- a/treasury/receiveddebit/client.go
+++ b/treasury/receiveddebit/client.go
@@ -10,8 +10,8 @@ package receiveddebit
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/received_debits APIs.
diff --git a/treasury/transaction/client.go b/treasury/transaction/client.go
index c0995782..77f61069 100644
--- a/treasury/transaction/client.go
+++ b/treasury/transaction/client.go
@@ -10,8 +10,8 @@ package transaction
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/transactions APIs.
diff --git a/treasury/transactionentry/client.go b/treasury/transactionentry/client.go
index 0ed10dcd..6bcb0e04 100644
--- a/treasury/transactionentry/client.go
+++ b/treasury/transactionentry/client.go
@@ -10,8 +10,8 @@ package transactionentry
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /treasury/transaction_entries APIs.
diff --git a/usagerecord.go b/usagerecord.go
index 51a9a1b2..116d3603 100644
--- a/usagerecord.go
+++ b/usagerecord.go
@@ -6,7 +6,7 @@
 
 package stripe
 
-import "github.com/stripe/stripe-go/v76/form"
+import "github.com/stripe/stripe-go/v77/form"
 
 // Possible values for the action parameter on usage record creation.
 const (
diff --git a/usagerecord/client.go b/usagerecord/client.go
index cedb8574..74b9f427 100644
--- a/usagerecord/client.go
+++ b/usagerecord/client.go
@@ -10,7 +10,7 @@ package usagerecord
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /subscription_items/{subscription_item}/usage_records APIs.
diff --git a/usagerecordsummary/client.go b/usagerecordsummary/client.go
index 4d59b7a9..043b4500 100644
--- a/usagerecordsummary/client.go
+++ b/usagerecordsummary/client.go
@@ -10,8 +10,8 @@ package usagerecordsummary
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /subscription_items/{subscription_item}/usage_record_summaries APIs.
diff --git a/webhook/client.go b/webhook/client.go
index d74ae9fc..615a0ce0 100644
--- a/webhook/client.go
+++ b/webhook/client.go
@@ -11,7 +11,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/stripe/stripe-go/v76"
+	"github.com/stripe/stripe-go/v77"
 )
 
 //
diff --git a/webhookendpoint/client.go b/webhookendpoint/client.go
index be2e2141..dfe11619 100644
--- a/webhookendpoint/client.go
+++ b/webhookendpoint/client.go
@@ -10,8 +10,8 @@ package webhookendpoint
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /webhook_endpoints APIs.


Test patch:
diff --git a/account/client_test.go b/account/client_test.go
index 8db9cae7..4b99465a 100644
--- a/account/client_test.go
+++ b/account/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestAccountDel(t *testing.T) {
diff --git a/account_test.go b/account_test.go
index 1943da10..09f2bc74 100644
--- a/account_test.go
+++ b/account_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestAccountExternalAccountParams_AppendTo(t *testing.T) {
diff --git a/accountlink/client_test.go b/accountlink/client_test.go
index 51dad19b..c0890633 100644
--- a/accountlink/client_test.go
+++ b/accountlink/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestAccountLinkNew(t *testing.T) {
diff --git a/applepaydomain/client_test.go b/applepaydomain/client_test.go
index beaded16..b4d76e5d 100644
--- a/applepaydomain/client_test.go
+++ b/applepaydomain/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestApplePayDomainDel(t *testing.T) {
diff --git a/applicationfee/client_test.go b/applicationfee/client_test.go
index 4ee0579e..13a48360 100644
--- a/applicationfee/client_test.go
+++ b/applicationfee/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestApplicationFeeGet(t *testing.T) {
diff --git a/balance/client_test.go b/balance/client_test.go
index 4cca7bf6..c2be2b81 100644
--- a/balance/client_test.go
+++ b/balance/client_test.go
@@ -4,7 +4,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestBalanceGet(t *testing.T) {
diff --git a/balancetransaction/client_test.go b/balancetransaction/client_test.go
index 4949ac1b..648a4b5e 100644
--- a/balancetransaction/client_test.go
+++ b/balancetransaction/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestBalanceTransactionGet(t *testing.T) {
diff --git a/bankaccount/client_test.go b/bankaccount/client_test.go
index 6601f136..044cfb71 100644
--- a/bankaccount/client_test.go
+++ b/bankaccount/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestBankAccountDel_ByAccount(t *testing.T) {
diff --git a/bankaccount_test.go b/bankaccount_test.go
index a6f65ffd..99ae497b 100644
--- a/bankaccount_test.go
+++ b/bankaccount_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestBankAccount_UnmarshalJSON(t *testing.T) {
diff --git a/billingportal/configuration/client_test.go b/billingportal/configuration/client_test.go
index bea8f263..192c5cea 100644
--- a/billingportal/configuration/client_test.go
+++ b/billingportal/configuration/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestBillingPortalConfigurationGet(t *testing.T) {
diff --git a/billingportal/session/client_test.go b/billingportal/session/client_test.go
index 40ed2d61..21ab0d47 100644
--- a/billingportal/session/client_test.go
+++ b/billingportal/session/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestBillingPortalSessionNew(t *testing.T) {
diff --git a/capability/client_test.go b/capability/client_test.go
index 4f26d6ff..92825f57 100644
--- a/capability/client_test.go
+++ b/capability/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCapabilityGet(t *testing.T) {
diff --git a/card/client_test.go b/card/client_test.go
index 1c6403a2..0fefff26 100644
--- a/card/client_test.go
+++ b/card/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCardDel(t *testing.T) {
diff --git a/card_test.go b/card_test.go
index c4eca1ba..a22fb2da 100644
--- a/card_test.go
+++ b/card_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestCardListParams_AppendTo(t *testing.T) {
diff --git a/charge/client_test.go b/charge/client_test.go
index a7e72062..d67a0566 100644
--- a/charge/client_test.go
+++ b/charge/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestChargeCapture(t *testing.T) {
diff --git a/checkout/session/client_test.go b/checkout/session/client_test.go
index 35f12131..23f11988 100644
--- a/checkout/session/client_test.go
+++ b/checkout/session/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCheckoutSessionGet(t *testing.T) {
diff --git a/countryspec/client_test.go b/countryspec/client_test.go
index 0a295f53..765f6a1d 100644
--- a/countryspec/client_test.go
+++ b/countryspec/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCountrySpecGet(t *testing.T) {
diff --git a/coupon/client_test.go b/coupon/client_test.go
index d7308978..78edeeb7 100644
--- a/coupon/client_test.go
+++ b/coupon/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCouponDel(t *testing.T) {
diff --git a/creditnote/client_test.go b/creditnote/client_test.go
index f1df7a7c..650239f8 100644
--- a/creditnote/client_test.go
+++ b/creditnote/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCreditNoteGet(t *testing.T) {
diff --git a/customer/client_test.go b/customer/client_test.go
index d82d3ba0..92bf4cf6 100644
--- a/customer/client_test.go
+++ b/customer/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCustomerDel(t *testing.T) {
diff --git a/customerbalancetransaction/client_test.go b/customerbalancetransaction/client_test.go
index 5c14812a..5e4ffb39 100644
--- a/customerbalancetransaction/client_test.go
+++ b/customerbalancetransaction/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestCustomerBalanceTransactionGet(t *testing.T) {
diff --git a/dispute/client_test.go b/dispute/client_test.go
index 092ef93c..3bfd5e0a 100644
--- a/dispute/client_test.go
+++ b/dispute/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestDisputeClose(t *testing.T) {
diff --git a/ephemeralkey/client_test.go b/ephemeralkey/client_test.go
index aa9feb9a..b6b74129 100644
--- a/ephemeralkey/client_test.go
+++ b/ephemeralkey/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestEphemeralKeyDel(t *testing.T) {
diff --git a/event/client_test.go b/event/client_test.go
index 9ece2724..560cb497 100644
--- a/event/client_test.go
+++ b/event/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestEventGet(t *testing.T) {
diff --git a/example/deserialization_test.go b/example/deserialization_test.go
index f7ddd9e3..e2c4663a 100644
--- a/example/deserialization_test.go
+++ b/example/deserialization_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 type APIResource = stripe.APIResource
diff --git a/example/generated_examples_test.go b/example/generated_examples_test.go
index b84d6c02..2b081fdb 100644
--- a/example/generated_examples_test.go
+++ b/example/generated_examples_test.go
@@ -10,109 +10,109 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	account "github.com/stripe/stripe-go/v76/account"
-	accountlink "github.com/stripe/stripe-go/v76/accountlink"
-	applicationfee "github.com/stripe/stripe-go/v76/applicationfee"
-	apps_secret "github.com/stripe/stripe-go/v76/apps/secret"
-	balancetransaction "github.com/stripe/stripe-go/v76/balancetransaction"
-	billingportal_configuration "github.com/stripe/stripe-go/v76/billingportal/configuration"
-	billingportal_session "github.com/stripe/stripe-go/v76/billingportal/session"
-	capability "github.com/stripe/stripe-go/v76/capability"
-	card "github.com/stripe/stripe-go/v76/card"
-	cashbalance "github.com/stripe/stripe-go/v76/cashbalance"
-	charge "github.com/stripe/stripe-go/v76/charge"
-	checkout_session "github.com/stripe/stripe-go/v76/checkout/session"
-	countryspec "github.com/stripe/stripe-go/v76/countryspec"
-	coupon "github.com/stripe/stripe-go/v76/coupon"
-	customer "github.com/stripe/stripe-go/v76/customer"
-	customerbalancetransaction "github.com/stripe/stripe-go/v76/customerbalancetransaction"
-	customercashbalancetransaction "github.com/stripe/stripe-go/v76/customercashbalancetransaction"
-	customersession "github.com/stripe/stripe-go/v76/customersession"
-	dispute "github.com/stripe/stripe-go/v76/dispute"
-	event "github.com/stripe/stripe-go/v76/event"
-	feerefund "github.com/stripe/stripe-go/v76/feerefund"
-	financialconnections_account "github.com/stripe/stripe-go/v76/financialconnections/account"
-	financialconnections_session "github.com/stripe/stripe-go/v76/financialconnections/session"
-	financialconnections_transaction "github.com/stripe/stripe-go/v76/financialconnections/transaction"
-	identity_verificationreport "github.com/stripe/stripe-go/v76/identity/verificationreport"
-	identity_verificationsession "github.com/stripe/stripe-go/v76/identity/verificationsession"
-	invoice "github.com/stripe/stripe-go/v76/invoice"
-	invoiceitem "github.com/stripe/stripe-go/v76/invoiceitem"
-	issuing_authorization "github.com/stripe/stripe-go/v76/issuing/authorization"
-	issuing_card "github.com/stripe/stripe-go/v76/issuing/card"
-	issuing_cardholder "github.com/stripe/stripe-go/v76/issuing/cardholder"
-	issuing_dispute "github.com/stripe/stripe-go/v76/issuing/dispute"
-	issuing_personalizationdesign "github.com/stripe/stripe-go/v76/issuing/personalizationdesign"
-	issuing_physicalbundle "github.com/stripe/stripe-go/v76/issuing/physicalbundle"
-	issuing_transaction "github.com/stripe/stripe-go/v76/issuing/transaction"
-	loginlink "github.com/stripe/stripe-go/v76/loginlink"
-	mandate "github.com/stripe/stripe-go/v76/mandate"
-	paymentintent "github.com/stripe/stripe-go/v76/paymentintent"
-	paymentlink "github.com/stripe/stripe-go/v76/paymentlink"
-	paymentmethod "github.com/stripe/stripe-go/v76/paymentmethod"
-	paymentmethodconfiguration "github.com/stripe/stripe-go/v76/paymentmethodconfiguration"
-	paymentsource "github.com/stripe/stripe-go/v76/paymentsource"
-	payout "github.com/stripe/stripe-go/v76/payout"
-	person "github.com/stripe/stripe-go/v76/person"
-	plan "github.com/stripe/stripe-go/v76/plan"
-	price "github.com/stripe/stripe-go/v76/price"
-	product "github.com/stripe/stripe-go/v76/product"
-	promotioncode "github.com/stripe/stripe-go/v76/promotioncode"
-	quote "github.com/stripe/stripe-go/v76/quote"
-	radar_earlyfraudwarning "github.com/stripe/stripe-go/v76/radar/earlyfraudwarning"
-	radar_valuelist "github.com/stripe/stripe-go/v76/radar/valuelist"
-	radar_valuelistitem "github.com/stripe/stripe-go/v76/radar/valuelistitem"
-	refund "github.com/stripe/stripe-go/v76/refund"
-	reporting_reportrun "github.com/stripe/stripe-go/v76/reporting/reportrun"
-	reporting_reporttype "github.com/stripe/stripe-go/v76/reporting/reporttype"
-	review "github.com/stripe/stripe-go/v76/review"
-	setupattempt "github.com/stripe/stripe-go/v76/setupattempt"
-	setupintent "github.com/stripe/stripe-go/v76/setupintent"
-	shippingrate "github.com/stripe/stripe-go/v76/shippingrate"
-	sigma_scheduledqueryrun "github.com/stripe/stripe-go/v76/sigma/scheduledqueryrun"
-	source "github.com/stripe/stripe-go/v76/source"
-	subscription "github.com/stripe/stripe-go/v76/subscription"
-	subscriptionitem "github.com/stripe/stripe-go/v76/subscriptionitem"
-	subscriptionschedule "github.com/stripe/stripe-go/v76/subscriptionschedule"
-	tax_calculation "github.com/stripe/stripe-go/v76/tax/calculation"
-	tax_settings "github.com/stripe/stripe-go/v76/tax/settings"
-	tax_transaction "github.com/stripe/stripe-go/v76/tax/transaction"
-	taxcode "github.com/stripe/stripe-go/v76/taxcode"
-	taxid "github.com/stripe/stripe-go/v76/taxid"
-	taxrate "github.com/stripe/stripe-go/v76/taxrate"
-	terminal_configuration "github.com/stripe/stripe-go/v76/terminal/configuration"
-	terminal_connectiontoken "github.com/stripe/stripe-go/v76/terminal/connectiontoken"
-	terminal_location "github.com/stripe/stripe-go/v76/terminal/location"
-	terminal_reader "github.com/stripe/stripe-go/v76/terminal/reader"
-	testhelpers_customer "github.com/stripe/stripe-go/v76/testhelpers/customer"
-	testhelpers_issuing_authorization "github.com/stripe/stripe-go/v76/testhelpers/issuing/authorization"
-	testhelpers_issuing_card "github.com/stripe/stripe-go/v76/testhelpers/issuing/card"
-	testhelpers_issuing_personalizationdesign "github.com/stripe/stripe-go/v76/testhelpers/issuing/personalizationdesign"
-	testhelpers_issuing_transaction "github.com/stripe/stripe-go/v76/testhelpers/issuing/transaction"
-	testhelpers_refund "github.com/stripe/stripe-go/v76/testhelpers/refund"
-	testhelpers_testclock "github.com/stripe/stripe-go/v76/testhelpers/testclock"
-	testhelpers_treasury_inboundtransfer "github.com/stripe/stripe-go/v76/testhelpers/treasury/inboundtransfer"
-	testhelpers_treasury_outboundtransfer "github.com/stripe/stripe-go/v76/testhelpers/treasury/outboundtransfer"
-	testhelpers_treasury_receivedcredit "github.com/stripe/stripe-go/v76/testhelpers/treasury/receivedcredit"
-	testhelpers_treasury_receiveddebit "github.com/stripe/stripe-go/v76/testhelpers/treasury/receiveddebit"
-	_ "github.com/stripe/stripe-go/v76/testing"
-	token "github.com/stripe/stripe-go/v76/token"
-	topup "github.com/stripe/stripe-go/v76/topup"
-	transfer "github.com/stripe/stripe-go/v76/transfer"
-	transferreversal "github.com/stripe/stripe-go/v76/transferreversal"
-	treasury_creditreversal "github.com/stripe/stripe-go/v76/treasury/creditreversal"
-	treasury_debitreversal "github.com/stripe/stripe-go/v76/treasury/debitreversal"
-	treasury_financialaccount "github.com/stripe/stripe-go/v76/treasury/financialaccount"
-	treasury_inboundtransfer "github.com/stripe/stripe-go/v76/treasury/inboundtransfer"
-	treasury_outboundpayment "github.com/stripe/stripe-go/v76/treasury/outboundpayment"
-	treasury_outboundtransfer "github.com/stripe/stripe-go/v76/treasury/outboundtransfer"
-	treasury_receivedcredit "github.com/stripe/stripe-go/v76/treasury/receivedcredit"
-	treasury_receiveddebit "github.com/stripe/stripe-go/v76/treasury/receiveddebit"
-	treasury_transaction "github.com/stripe/stripe-go/v76/treasury/transaction"
-	treasury_transactionentry "github.com/stripe/stripe-go/v76/treasury/transactionentry"
-	usagerecord "github.com/stripe/stripe-go/v76/usagerecord"
-	webhookendpoint "github.com/stripe/stripe-go/v76/webhookendpoint"
+	stripe "github.com/stripe/stripe-go/v77"
+	account "github.com/stripe/stripe-go/v77/account"
+	accountlink "github.com/stripe/stripe-go/v77/accountlink"
+	applicationfee "github.com/stripe/stripe-go/v77/applicationfee"
+	apps_secret "github.com/stripe/stripe-go/v77/apps/secret"
+	balancetransaction "github.com/stripe/stripe-go/v77/balancetransaction"
+	billingportal_configuration "github.com/stripe/stripe-go/v77/billingportal/configuration"
+	billingportal_session "github.com/stripe/stripe-go/v77/billingportal/session"
+	capability "github.com/stripe/stripe-go/v77/capability"
+	card "github.com/stripe/stripe-go/v77/card"
+	cashbalance "github.com/stripe/stripe-go/v77/cashbalance"
+	charge "github.com/stripe/stripe-go/v77/charge"
+	checkout_session "github.com/stripe/stripe-go/v77/checkout/session"
+	countryspec "github.com/stripe/stripe-go/v77/countryspec"
+	coupon "github.com/stripe/stripe-go/v77/coupon"
+	customer "github.com/stripe/stripe-go/v77/customer"
+	customerbalancetransaction "github.com/stripe/stripe-go/v77/customerbalancetransaction"
+	customercashbalancetransaction "github.com/stripe/stripe-go/v77/customercashbalancetransaction"
+	customersession "github.com/stripe/stripe-go/v77/customersession"
+	dispute "github.com/stripe/stripe-go/v77/dispute"
+	event "github.com/stripe/stripe-go/v77/event"
+	feerefund "github.com/stripe/stripe-go/v77/feerefund"
+	financialconnections_account "github.com/stripe/stripe-go/v77/financialconnections/account"
+	financialconnections_session "github.com/stripe/stripe-go/v77/financialconnections/session"
+	financialconnections_transaction "github.com/stripe/stripe-go/v77/financialconnections/transaction"
+	identity_verificationreport "github.com/stripe/stripe-go/v77/identity/verificationreport"
+	identity_verificationsession "github.com/stripe/stripe-go/v77/identity/verificationsession"
+	invoice "github.com/stripe/stripe-go/v77/invoice"
+	invoiceitem "github.com/stripe/stripe-go/v77/invoiceitem"
+	issuing_authorization "github.com/stripe/stripe-go/v77/issuing/authorization"
+	issuing_card "github.com/stripe/stripe-go/v77/issuing/card"
+	issuing_cardholder "github.com/stripe/stripe-go/v77/issuing/cardholder"
+	issuing_dispute "github.com/stripe/stripe-go/v77/issuing/dispute"
+	issuing_personalizationdesign "github.com/stripe/stripe-go/v77/issuing/personalizationdesign"
+	issuing_physicalbundle "github.com/stripe/stripe-go/v77/issuing/physicalbundle"
+	issuing_transaction "github.com/stripe/stripe-go/v77/issuing/transaction"
+	loginlink "github.com/stripe/stripe-go/v77/loginlink"
+	mandate "github.com/stripe/stripe-go/v77/mandate"
+	paymentintent "github.com/stripe/stripe-go/v77/paymentintent"
+	paymentlink "github.com/stripe/stripe-go/v77/paymentlink"
+	paymentmethod "github.com/stripe/stripe-go/v77/paymentmethod"
+	paymentmethodconfiguration "github.com/stripe/stripe-go/v77/paymentmethodconfiguration"
+	paymentsource "github.com/stripe/stripe-go/v77/paymentsource"
+	payout "github.com/stripe/stripe-go/v77/payout"
+	person "github.com/stripe/stripe-go/v77/person"
+	plan "github.com/stripe/stripe-go/v77/plan"
+	price "github.com/stripe/stripe-go/v77/price"
+	product "github.com/stripe/stripe-go/v77/product"
+	promotioncode "github.com/stripe/stripe-go/v77/promotioncode"
+	quote "github.com/stripe/stripe-go/v77/quote"
+	radar_earlyfraudwarning "github.com/stripe/stripe-go/v77/radar/earlyfraudwarning"
+	radar_valuelist "github.com/stripe/stripe-go/v77/radar/valuelist"
+	radar_valuelistitem "github.com/stripe/stripe-go/v77/radar/valuelistitem"
+	refund "github.com/stripe/stripe-go/v77/refund"
+	reporting_reportrun "github.com/stripe/stripe-go/v77/reporting/reportrun"
+	reporting_reporttype "github.com/stripe/stripe-go/v77/reporting/reporttype"
+	review "github.com/stripe/stripe-go/v77/review"
+	setupattempt "github.com/stripe/stripe-go/v77/setupattempt"
+	setupintent "github.com/stripe/stripe-go/v77/setupintent"
+	shippingrate "github.com/stripe/stripe-go/v77/shippingrate"
+	sigma_scheduledqueryrun "github.com/stripe/stripe-go/v77/sigma/scheduledqueryrun"
+	source "github.com/stripe/stripe-go/v77/source"
+	subscription "github.com/stripe/stripe-go/v77/subscription"
+	subscriptionitem "github.com/stripe/stripe-go/v77/subscriptionitem"
+	subscriptionschedule "github.com/stripe/stripe-go/v77/subscriptionschedule"
+	tax_calculation "github.com/stripe/stripe-go/v77/tax/calculation"
+	tax_settings "github.com/stripe/stripe-go/v77/tax/settings"
+	tax_transaction "github.com/stripe/stripe-go/v77/tax/transaction"
+	taxcode "github.com/stripe/stripe-go/v77/taxcode"
+	taxid "github.com/stripe/stripe-go/v77/taxid"
+	taxrate "github.com/stripe/stripe-go/v77/taxrate"
+	terminal_configuration "github.com/stripe/stripe-go/v77/terminal/configuration"
+	terminal_connectiontoken "github.com/stripe/stripe-go/v77/terminal/connectiontoken"
+	terminal_location "github.com/stripe/stripe-go/v77/terminal/location"
+	terminal_reader "github.com/stripe/stripe-go/v77/terminal/reader"
+	testhelpers_customer "github.com/stripe/stripe-go/v77/testhelpers/customer"
+	testhelpers_issuing_authorization "github.com/stripe/stripe-go/v77/testhelpers/issuing/authorization"
+	testhelpers_issuing_card "github.com/stripe/stripe-go/v77/testhelpers/issuing/card"
+	testhelpers_issuing_personalizationdesign "github.com/stripe/stripe-go/v77/testhelpers/issuing/personalizationdesign"
+	testhelpers_issuing_transaction "github.com/stripe/stripe-go/v77/testhelpers/issuing/transaction"
+	testhelpers_refund "github.com/stripe/stripe-go/v77/testhelpers/refund"
+	testhelpers_testclock "github.com/stripe/stripe-go/v77/testhelpers/testclock"
+	testhelpers_treasury_inboundtransfer "github.com/stripe/stripe-go/v77/testhelpers/treasury/inboundtransfer"
+	testhelpers_treasury_outboundtransfer "github.com/stripe/stripe-go/v77/testhelpers/treasury/outboundtransfer"
+	testhelpers_treasury_receivedcredit "github.com/stripe/stripe-go/v77/testhelpers/treasury/receivedcredit"
+	testhelpers_treasury_receiveddebit "github.com/stripe/stripe-go/v77/testhelpers/treasury/receiveddebit"
+	_ "github.com/stripe/stripe-go/v77/testing"
+	token "github.com/stripe/stripe-go/v77/token"
+	topup "github.com/stripe/stripe-go/v77/topup"
+	transfer "github.com/stripe/stripe-go/v77/transfer"
+	transferreversal "github.com/stripe/stripe-go/v77/transferreversal"
+	treasury_creditreversal "github.com/stripe/stripe-go/v77/treasury/creditreversal"
+	treasury_debitreversal "github.com/stripe/stripe-go/v77/treasury/debitreversal"
+	treasury_financialaccount "github.com/stripe/stripe-go/v77/treasury/financialaccount"
+	treasury_inboundtransfer "github.com/stripe/stripe-go/v77/treasury/inboundtransfer"
+	treasury_outboundpayment "github.com/stripe/stripe-go/v77/treasury/outboundpayment"
+	treasury_outboundtransfer "github.com/stripe/stripe-go/v77/treasury/outboundtransfer"
+	treasury_receivedcredit "github.com/stripe/stripe-go/v77/treasury/receivedcredit"
+	treasury_receiveddebit "github.com/stripe/stripe-go/v77/treasury/receiveddebit"
+	treasury_transaction "github.com/stripe/stripe-go/v77/treasury/transaction"
+	treasury_transactionentry "github.com/stripe/stripe-go/v77/treasury/transactionentry"
+	usagerecord "github.com/stripe/stripe-go/v77/usagerecord"
+	webhookendpoint "github.com/stripe/stripe-go/v77/webhookendpoint"
 )
 
 func TestAccountLinksPost(t *testing.T) {
diff --git a/example_test.go b/example_test.go
index b335a3ab..3edc9683 100644
--- a/example_test.go
+++ b/example_test.go
@@ -3,11 +3,11 @@ package stripe_test
 import (
 	"log"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/charge"
-	"github.com/stripe/stripe-go/v76/customer"
-	"github.com/stripe/stripe-go/v76/invoice"
-	"github.com/stripe/stripe-go/v76/plan"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/charge"
+	"github.com/stripe/stripe-go/v77/customer"
+	"github.com/stripe/stripe-go/v77/invoice"
+	"github.com/stripe/stripe-go/v77/plan"
 )
 
 func ExampleCharge_new() {
diff --git a/feerefund/client_test.go b/feerefund/client_test.go
index b7203a4f..8ac10846 100644
--- a/feerefund/client_test.go
+++ b/feerefund/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestFeeRefundGet(t *testing.T) {
diff --git a/file/client_test.go b/file/client_test.go
index 200230b1..e0ab920e 100644
--- a/file/client_test.go
+++ b/file/client_test.go
@@ -17,9 +17,9 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 const (
diff --git a/filelink/client_test.go b/filelink/client_test.go
index 7a81c05c..df7dabc6 100644
--- a/filelink/client_test.go
+++ b/filelink/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestFileLinkGet(t *testing.T) {
diff --git a/filelink_test.go b/filelink_test.go
index 4e7fc417..6ba90385 100644
--- a/filelink_test.go
+++ b/filelink_test.go
@@ -4,7 +4,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestFileLinkParams_AppendTo(t *testing.T) {
diff --git a/identity/verificationreport/client_test.go b/identity/verificationreport/client_test.go
index 056bd865..8cdd5adc 100644
--- a/identity/verificationreport/client_test.go
+++ b/identity/verificationreport/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestIdentityVerificationReportGet(t *testing.T) {
diff --git a/identity/verificationsession/client_test.go b/identity/verificationsession/client_test.go
index b7039cf9..df9e975f 100644
--- a/identity/verificationsession/client_test.go
+++ b/identity/verificationsession/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestIdentityVerificationSessionCancel(t *testing.T) {
diff --git a/invoice/client_test.go b/invoice/client_test.go
index 7e9ad6ee..bf03064e 100644
--- a/invoice/client_test.go
+++ b/invoice/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestInvoiceGet(t *testing.T) {
diff --git a/invoice_test.go b/invoice_test.go
index 2c8860df..482707ca 100644
--- a/invoice_test.go
+++ b/invoice_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestInvoiceParams_AppendTo(t *testing.T) {
diff --git a/invoiceitem/client_test.go b/invoiceitem/client_test.go
index fe9465ac..1d583c42 100644
--- a/invoiceitem/client_test.go
+++ b/invoiceitem/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestInvoiceItemDel(t *testing.T) {
diff --git a/issuing/authorization/client_test.go b/issuing/authorization/client_test.go
index c9c27ab0..ee5e1e7a 100644
--- a/issuing/authorization/client_test.go
+++ b/issuing/authorization/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestIssuingAuthorizationApprove(t *testing.T) {
diff --git a/issuing/card/client_test.go b/issuing/card/client_test.go
index b5b23689..cfb12189 100644
--- a/issuing/card/client_test.go
+++ b/issuing/card/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestIssuingCardGet(t *testing.T) {
diff --git a/issuing/cardholder/client_test.go b/issuing/cardholder/client_test.go
index 8cfd005c..9c0ebb8c 100644
--- a/issuing/cardholder/client_test.go
+++ b/issuing/cardholder/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestIssuingCardholderGet(t *testing.T) {
diff --git a/issuing/dispute/client_test.go b/issuing/dispute/client_test.go
index ad378393..8bc368a4 100644
--- a/issuing/dispute/client_test.go
+++ b/issuing/dispute/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestIssuingDisputeGet(t *testing.T) {
diff --git a/issuing/transaction/client_test.go b/issuing/transaction/client_test.go
index 255f384c..7546fb22 100644
--- a/issuing/transaction/client_test.go
+++ b/issuing/transaction/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestIssuingTransactionGet(t *testing.T) {
diff --git a/iter_test.go b/iter_test.go
index 25e3595b..11def563 100644
--- a/iter_test.go
+++ b/iter_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestIterEmpty(t *testing.T) {
diff --git a/loginlink/client_test.go b/loginlink/client_test.go
index 1bb05a18..a3d321e6 100644
--- a/loginlink/client_test.go
+++ b/loginlink/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestLoginLinkNew(t *testing.T) {
diff --git a/mandate/client_test.go b/mandate/client_test.go
index f6abd5a2..44e54ec4 100644
--- a/mandate/client_test.go
+++ b/mandate/client_test.go
@@ -4,7 +4,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestMandateMethodGet(t *testing.T) {
diff --git a/oauth/client_test.go b/oauth/client_test.go
index f9d23401..4b947386 100644
--- a/oauth/client_test.go
+++ b/oauth/client_test.go
@@ -7,8 +7,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestAuthorizeURL(t *testing.T) {
diff --git a/params_test.go b/params_test.go
index dd9cb10d..54befbd9 100644
--- a/params_test.go
+++ b/params_test.go
@@ -5,9 +5,9 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
-	. "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
+	. "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestRangeQueryParamsAppendTo(t *testing.T) {
diff --git a/paymentintent/client_test.go b/paymentintent/client_test.go
index ae5b43a3..00085fe8 100644
--- a/paymentintent/client_test.go
+++ b/paymentintent/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestPaymentIntentCancel(t *testing.T) {
diff --git a/paymentmethod/client_test.go b/paymentmethod/client_test.go
index fe2856ec..a9ef8088 100644
--- a/paymentmethod/client_test.go
+++ b/paymentmethod/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestPaymentMethodAttach(t *testing.T) {
diff --git a/paymentsource/client_test.go b/paymentsource/client_test.go
index 257208c4..fd87c485 100644
--- a/paymentsource/client_test.go
+++ b/paymentsource/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSourceGet(t *testing.T) {
diff --git a/paymentsource_test.go b/paymentsource_test.go
index f9e2e613..e62f0d5d 100644
--- a/paymentsource_test.go
+++ b/paymentsource_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestSourceParams_AppendTo(t *testing.T) {
diff --git a/payout/client_test.go b/payout/client_test.go
index 4351dcef..acd3f8e8 100644
--- a/payout/client_test.go
+++ b/payout/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestPayoutCancel(t *testing.T) {
diff --git a/person/client_test.go b/person/client_test.go
index bba1f154..a2051173 100644
--- a/person/client_test.go
+++ b/person/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestPersonDel(t *testing.T) {
diff --git a/plan/client_test.go b/plan/client_test.go
index 9fbdc8bd..3173db4c 100644
--- a/plan/client_test.go
+++ b/plan/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestPlanDel(t *testing.T) {
diff --git a/plan_test.go b/plan_test.go
index e57be3c3..199ab23e 100644
--- a/plan_test.go
+++ b/plan_test.go
@@ -6,7 +6,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestPlan_Unmarshal(t *testing.T) {
diff --git a/price/client_test.go b/price/client_test.go
index 0aba8834..49f3147b 100644
--- a/price/client_test.go
+++ b/price/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestPriceGet(t *testing.T) {
diff --git a/price_test.go b/price_test.go
index 4c0c4a68..4af35f99 100644
--- a/price_test.go
+++ b/price_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestPrice_Unmarshal(t *testing.T) {
diff --git a/product/client_test.go b/product/client_test.go
index 4ad1078c..006f0e60 100644
--- a/product/client_test.go
+++ b/product/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestProductDel(t *testing.T) {
diff --git a/promotioncode/client_test.go b/promotioncode/client_test.go
index 4245da10..c8179df0 100644
--- a/promotioncode/client_test.go
+++ b/promotioncode/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestPromotionCodeGet(t *testing.T) {
diff --git a/quote/client_test.go b/quote/client_test.go
index dede016e..b050e117 100644
--- a/quote/client_test.go
+++ b/quote/client_test.go
@@ -5,8 +5,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestQuoteGet(t *testing.T) {
diff --git a/quote_test.go b/quote_test.go
index 5df5d437..f191b4a4 100644
--- a/quote_test.go
+++ b/quote_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestQuoteSubscriptionDataParams_AppendTo(t *testing.T) {
diff --git a/radar/earlyfraudwarning/client_test.go b/radar/earlyfraudwarning/client_test.go
index 9fc1f070..ee547012 100644
--- a/radar/earlyfraudwarning/client_test.go
+++ b/radar/earlyfraudwarning/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestRadarEarlyFraudWarningGet(t *testing.T) {
diff --git a/radar/valuelist/client_test.go b/radar/valuelist/client_test.go
index 4e00054f..65ae0afa 100644
--- a/radar/valuelist/client_test.go
+++ b/radar/valuelist/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestRadarValueListDel(t *testing.T) {
diff --git a/radar/valuelistitem/client_test.go b/radar/valuelistitem/client_test.go
index b9ebb99d..e1aaffbe 100644
--- a/radar/valuelistitem/client_test.go
+++ b/radar/valuelistitem/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestRadarValueListItemDel(t *testing.T) {
diff --git a/refund/client_test.go b/refund/client_test.go
index f15f2690..6859efb3 100644
--- a/refund/client_test.go
+++ b/refund/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestRefundGet(t *testing.T) {
diff --git a/reporting/reportrun/client_test.go b/reporting/reportrun/client_test.go
index 1840cb6c..4e30c4e3 100644
--- a/reporting/reportrun/client_test.go
+++ b/reporting/reportrun/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestReportingReportRunGet(t *testing.T) {
diff --git a/reporting/reporttype/client_test.go b/reporting/reporttype/client_test.go
index ad1562d7..78eeefe5 100644
--- a/reporting/reporttype/client_test.go
+++ b/reporting/reporttype/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestReportTestGet(t *testing.T) {
diff --git a/review/client_test.go b/review/client_test.go
index b9684dfe..092e970f 100644
--- a/review/client_test.go
+++ b/review/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestReviewApprove(t *testing.T) {
diff --git a/search_iter_test.go b/search_iter_test.go
index 3367b686..714e11b9 100644
--- a/search_iter_test.go
+++ b/search_iter_test.go
@@ -7,7 +7,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 var nextPageTestToken = "next_page_test_token"
diff --git a/search_params_test.go b/search_params_test.go
index 9fd3bb3e..3dcc150f 100644
--- a/search_params_test.go
+++ b/search_params_test.go
@@ -5,9 +5,9 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
-	. "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
+	. "github.com/stripe/stripe-go/v77/testing"
 )
 
 type testSearchParams struct {
diff --git a/setupattempt/client_test.go b/setupattempt/client_test.go
index 24c81ff9..de0ea347 100644
--- a/setupattempt/client_test.go
+++ b/setupattempt/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSetupAttemptList(t *testing.T) {
diff --git a/setupintent/client_test.go b/setupintent/client_test.go
index ea5c9c80..eb40da9b 100644
--- a/setupintent/client_test.go
+++ b/setupintent/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSetupIntentCancel(t *testing.T) {
diff --git a/sigma/scheduledqueryrun/client_test.go b/sigma/scheduledqueryrun/client_test.go
index 31cd2c15..2a08b455 100644
--- a/sigma/scheduledqueryrun/client_test.go
+++ b/sigma/scheduledqueryrun/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSigmaScheduledQueryRunGet(t *testing.T) {
diff --git a/source/client_test.go b/source/client_test.go
index 370b4c36..37d41131 100644
--- a/source/client_test.go
+++ b/source/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSourceGet(t *testing.T) {
diff --git a/sourcetransaction/client_test.go b/sourcetransaction/client_test.go
index 9606c663..446acd25 100644
--- a/sourcetransaction/client_test.go
+++ b/sourcetransaction/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSourceTransactionList(t *testing.T) {
diff --git a/stripe_test.go b/stripe_test.go
index 0371f538..69d2254e 100644
--- a/stripe_test.go
+++ b/stripe_test.go
@@ -300,7 +300,7 @@ func TestShouldRetry(t *testing.T) {
 		assert.False(t, shouldRetry)
 	})
 
-	// 500 Internal Server Error -- retry if non-POST
+	// 500 Internal Server Error -- retry
 	t.Run("RetryOn500NonPost", func(t *testing.T) {
 		shouldRetry, _ := c.shouldRetry(
 			nil,
@@ -311,17 +311,6 @@ func TestShouldRetry(t *testing.T) {
 		assert.True(t, shouldRetry)
 	})
 
-	// 500 Internal Server Error -- don't retry POST
-	t.Run("DontRetryOn500Post", func(t *testing.T) {
-		shouldRetry, _ := c.shouldRetry(
-			nil,
-			&http.Request{Method: http.MethodPost},
-			&http.Response{StatusCode: http.StatusInternalServerError},
-			0,
-		)
-		assert.False(t, shouldRetry)
-	})
-
 	// 503 Service Unavailable
 	t.Run("RetryOn503ServiceUnavailable", func(t *testing.T) {
 		shouldRetry, _ := c.shouldRetry(
diff --git a/sub_test.go b/sub_test.go
index bc1393cc..e532c619 100644
--- a/sub_test.go
+++ b/sub_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestSubscriptionParams_AppendTo(t *testing.T) {
diff --git a/subschedule_test.go b/subschedule_test.go
index 5bf83b96..fd011014 100644
--- a/subschedule_test.go
+++ b/subschedule_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestSubscriptionScheduleParams_AppendTo(t *testing.T) {
diff --git a/subscription/client_test.go b/subscription/client_test.go
index 3c2b0186..4cd4bb8c 100644
--- a/subscription/client_test.go
+++ b/subscription/client_test.go
@@ -5,8 +5,8 @@ import (
 	"time"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSubscriptionCancel(t *testing.T) {
diff --git a/subscriptionitem/client_test.go b/subscriptionitem/client_test.go
index a49857d6..a370c50d 100644
--- a/subscriptionitem/client_test.go
+++ b/subscriptionitem/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSubscriptionItemDel(t *testing.T) {
diff --git a/subscriptionschedule/client_test.go b/subscriptionschedule/client_test.go
index 331956d3..dc5da73f 100644
--- a/subscriptionschedule/client_test.go
+++ b/subscriptionschedule/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestSubscriptionScheduleCancel(t *testing.T) {
diff --git a/taxcode/client_test.go b/taxcode/client_test.go
index ce1da1af..dc4f9e9c 100644
--- a/taxcode/client_test.go
+++ b/taxcode/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTaxCodeGet(t *testing.T) {
diff --git a/taxid/client_test.go b/taxid/client_test.go
index 60871b04..d67d9586 100644
--- a/taxid/client_test.go
+++ b/taxid/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTaxIDDel(t *testing.T) {
diff --git a/taxrate/client_test.go b/taxrate/client_test.go
index 89ee9f33..0858eac9 100644
--- a/taxrate/client_test.go
+++ b/taxrate/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTaxRateGet(t *testing.T) {
diff --git a/terminal/connectiontoken/client_test.go b/terminal/connectiontoken/client_test.go
index c4ccb3f1..6a2c1885 100644
--- a/terminal/connectiontoken/client_test.go
+++ b/terminal/connectiontoken/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTerminalConnectionTokenNew(t *testing.T) {
diff --git a/terminal/location/client_test.go b/terminal/location/client_test.go
index 4fe46cdb..6ebc3f93 100644
--- a/terminal/location/client_test.go
+++ b/terminal/location/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTerminalLocationDel(t *testing.T) {
diff --git a/terminal/reader/client_test.go b/terminal/reader/client_test.go
index 89c7457c..8a79e868 100644
--- a/terminal/reader/client_test.go
+++ b/terminal/reader/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTerminalReaderDel(t *testing.T) {
diff --git a/testhelpers/confirmationtoken/client.go b/testhelpers/confirmationtoken/client.go
index 31441936..164bdfd6 100644
--- a/testhelpers/confirmationtoken/client.go
+++ b/testhelpers/confirmationtoken/client.go
@@ -10,7 +10,7 @@ package confirmationtoken
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /confirmation_tokens APIs.
diff --git a/testhelpers/customer/client.go b/testhelpers/customer/client.go
index 57eecbdd..b9fc8474 100644
--- a/testhelpers/customer/client.go
+++ b/testhelpers/customer/client.go
@@ -10,7 +10,7 @@ package customer
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /customers APIs.
diff --git a/testhelpers/issuing/authorization/client.go b/testhelpers/issuing/authorization/client.go
index 010256c4..19d3bd44 100644
--- a/testhelpers/issuing/authorization/client.go
+++ b/testhelpers/issuing/authorization/client.go
@@ -10,7 +10,7 @@ package authorization
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /issuing/authorizations APIs.
diff --git a/testhelpers/issuing/card/client.go b/testhelpers/issuing/card/client.go
index 809e4162..0735e3e8 100644
--- a/testhelpers/issuing/card/client.go
+++ b/testhelpers/issuing/card/client.go
@@ -10,7 +10,7 @@ package card
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /issuing/cards APIs.
diff --git a/testhelpers/issuing/personalizationdesign/client.go b/testhelpers/issuing/personalizationdesign/client.go
index 4f42395d..80f15cb4 100644
--- a/testhelpers/issuing/personalizationdesign/client.go
+++ b/testhelpers/issuing/personalizationdesign/client.go
@@ -10,7 +10,7 @@ package personalizationdesign
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /issuing/personalization_designs APIs.
diff --git a/testhelpers/issuing/transaction/client.go b/testhelpers/issuing/transaction/client.go
index 21122f73..4864e8b5 100644
--- a/testhelpers/issuing/transaction/client.go
+++ b/testhelpers/issuing/transaction/client.go
@@ -10,7 +10,7 @@ package transaction
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /issuing/transactions APIs.
diff --git a/testhelpers/refund/client.go b/testhelpers/refund/client.go
index 3f4b4181..fd5074a2 100644
--- a/testhelpers/refund/client.go
+++ b/testhelpers/refund/client.go
@@ -10,7 +10,7 @@ package refund
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /refunds APIs.
diff --git a/testhelpers/terminal/reader/client.go b/testhelpers/terminal/reader/client.go
index d9610b10..00211be3 100644
--- a/testhelpers/terminal/reader/client.go
+++ b/testhelpers/terminal/reader/client.go
@@ -10,7 +10,7 @@ package reader
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /terminal/readers APIs.
diff --git a/testhelpers/terminal/reader/client_test.go b/testhelpers/terminal/reader/client_test.go
index 0fe82afc..be3cf9be 100644
--- a/testhelpers/terminal/reader/client_test.go
+++ b/testhelpers/terminal/reader/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTerminalReaderUpdate(t *testing.T) {
diff --git a/testhelpers/testclock/client.go b/testhelpers/testclock/client.go
index 4634c110..eafa1889 100644
--- a/testhelpers/testclock/client.go
+++ b/testhelpers/testclock/client.go
@@ -10,8 +10,8 @@ package testclock
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 // Client is used to invoke /test_helpers/test_clocks APIs.
diff --git a/testhelpers/treasury/inboundtransfer/client.go b/testhelpers/treasury/inboundtransfer/client.go
index 8f3d47ed..1733e4d6 100644
--- a/testhelpers/treasury/inboundtransfer/client.go
+++ b/testhelpers/treasury/inboundtransfer/client.go
@@ -10,7 +10,7 @@ package inboundtransfer
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /treasury/inbound_transfers APIs.
diff --git a/testhelpers/treasury/outboundpayment/client.go b/testhelpers/treasury/outboundpayment/client.go
index 333cdb09..4a5974c9 100644
--- a/testhelpers/treasury/outboundpayment/client.go
+++ b/testhelpers/treasury/outboundpayment/client.go
@@ -10,7 +10,7 @@ package outboundpayment
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /treasury/outbound_payments APIs.
diff --git a/testhelpers/treasury/outboundtransfer/client.go b/testhelpers/treasury/outboundtransfer/client.go
index e4112abf..2849ffe6 100644
--- a/testhelpers/treasury/outboundtransfer/client.go
+++ b/testhelpers/treasury/outboundtransfer/client.go
@@ -10,7 +10,7 @@ package outboundtransfer
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /treasury/outbound_transfers APIs.
diff --git a/testhelpers/treasury/receivedcredit/client.go b/testhelpers/treasury/receivedcredit/client.go
index 1950a352..cc0434b2 100644
--- a/testhelpers/treasury/receivedcredit/client.go
+++ b/testhelpers/treasury/receivedcredit/client.go
@@ -10,7 +10,7 @@ package receivedcredit
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /treasury/received_credits APIs.
diff --git a/testhelpers/treasury/receiveddebit/client.go b/testhelpers/treasury/receiveddebit/client.go
index ffd792e7..b46fab7d 100644
--- a/testhelpers/treasury/receiveddebit/client.go
+++ b/testhelpers/treasury/receiveddebit/client.go
@@ -10,7 +10,7 @@ package receiveddebit
 import (
 	"net/http"
 
-	stripe "github.com/stripe/stripe-go/v76"
+	stripe "github.com/stripe/stripe-go/v77"
 )
 
 // Client is used to invoke /treasury/received_debits APIs.
diff --git a/testing/testing.go b/testing/testing.go
index 2578a2e0..3bdbd9c3 100644
--- a/testing/testing.go
+++ b/testing/testing.go
@@ -8,8 +8,8 @@ import (
 	"strconv"
 	"strings"
 
-	stripe "github.com/stripe/stripe-go/v76"
-	"github.com/stripe/stripe-go/v76/form"
+	stripe "github.com/stripe/stripe-go/v77"
+	"github.com/stripe/stripe-go/v77/form"
 	"golang.org/x/net/http2"
 )
 
diff --git a/token/client_test.go b/token/client_test.go
index c17b1d9d..024c1d07 100644
--- a/token/client_test.go
+++ b/token/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTokenGet(t *testing.T) {
diff --git a/topup/client_test.go b/topup/client_test.go
index ec48c27f..f614d951 100644
--- a/topup/client_test.go
+++ b/topup/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTopupCancel(t *testing.T) {
diff --git a/transfer/client_test.go b/transfer/client_test.go
index f602cd00..af2fd22f 100644
--- a/transfer/client_test.go
+++ b/transfer/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTransferGet(t *testing.T) {
diff --git a/transferreversal/client_test.go b/transferreversal/client_test.go
index ddc84654..c185ee68 100644
--- a/transferreversal/client_test.go
+++ b/transferreversal/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestTransferReversalGet(t *testing.T) {
diff --git a/usagerecord/client_test.go b/usagerecord/client_test.go
index 441f10ab..8ab30646 100644
--- a/usagerecord/client_test.go
+++ b/usagerecord/client_test.go
@@ -5,8 +5,8 @@ import (
 	"time"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestUsageRecordNew(t *testing.T) {
diff --git a/usagerecord_test.go b/usagerecord_test.go
index 6b1e1483..4f49b4e9 100644
--- a/usagerecord_test.go
+++ b/usagerecord_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	"github.com/stripe/stripe-go/v76/form"
+	"github.com/stripe/stripe-go/v77/form"
 )
 
 func TestUsageRecordParams_AppendTo(t *testing.T) {
diff --git a/usagerecordsummary/client_test.go b/usagerecordsummary/client_test.go
index 425e6967..d42829ce 100644
--- a/usagerecordsummary/client_test.go
+++ b/usagerecordsummary/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestUsageRecordSummaryList(t *testing.T) {
diff --git a/webhook/client_handler_test.go b/webhook/client_handler_test.go
index abf26469..851827bd 100644
--- a/webhook/client_handler_test.go
+++ b/webhook/client_handler_test.go
@@ -6,7 +6,7 @@ import (
 	"log"
 	"net/http"
 
-	"github.com/stripe/stripe-go/v76/webhook"
+	"github.com/stripe/stripe-go/v77/webhook"
 )
 
 func Example() {
diff --git a/webhook/client_test.go b/webhook/client_test.go
index e3215586..2324b593 100644
--- a/webhook/client_test.go
+++ b/webhook/client_test.go
@@ -7,7 +7,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/stripe/stripe-go/v76"
+	"github.com/stripe/stripe-go/v77"
 )
 
 var testPayload = []byte(fmt.Sprintf(`{
diff --git a/webhookendpoint/client_test.go b/webhookendpoint/client_test.go
index 9dbeaade..216d77a7 100644
--- a/webhookendpoint/client_test.go
+++ b/webhookendpoint/client_test.go
@@ -4,8 +4,8 @@ import (
 	"testing"
 
 	assert "github.com/stretchr/testify/require"
-	stripe "github.com/stripe/stripe-go/v76"
-	_ "github.com/stripe/stripe-go/v76/testing"
+	stripe "github.com/stripe/stripe-go/v77"
+	_ "github.com/stripe/stripe-go/v77/testing"
 )
 
 func TestWebhookEndpointDel(t *testing.T) {