diff --git a/API_VERSION b/API_VERSION index 211afa2c0..b059a5991 100644 --- a/API_VERSION +++ b/API_VERSION @@ -1 +1 @@ -7684500f9744e3dbcd9b4b87db96f2e919c105aa \ No newline at end of file +7684500f9744e3dbcd9b4b87db96f2e919c105aa diff --git a/CHANGELOG.md b/CHANGELOG.md index 201371d83..d7e6a34f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ * Add support for `allocated_funds` on `Charge`, `PaymentIntentConfirmParams`, `PaymentIntentCreateParams`, and `PaymentIntentModifyParams` * Add support for thin events `V2ReportingReportRunCreatedEvent`, `V2ReportingReportRunFailedEvent`, `V2ReportingReportRunSucceededEvent`, and `V2ReportingReportRunUpdatedEvent` with related object `v2.reporting.ReportRun` +## 13.2.0 - 2025-11-05 +* [#1662](https://github.com/stripe/stripe-python/pull/1662) Update generated code + * Add support for `capture_method` on `PaymentIntent.PaymentMethodOption.CardPresent`, `PaymentIntentConfirmParamsPaymentMethodOptionCardPresent`, `PaymentIntentCreateParamsPaymentMethodOptionCardPresent`, and `PaymentIntentModifyParamsPaymentMethodOptionCardPresent` + ## 13.2.0b1 - 2025-10-29 This release changes the pinned API version to `2025-10-29.preview`. diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index e0ee2c2b1..82b84d57f 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2110 \ No newline at end of file +v2110 diff --git a/README.md b/README.md index d0b346854..59d0e5dcf 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,8 @@ Stripe has features in the [private preview phase](https://docs.stripe.com/relea ### Custom requests +> This feature is only available from version 11 of this SDK. + If you would like to send a request to an undocumented API (for example you are in a private beta), or if you prefer to bypass the method definitions in the library and specify your request details directly, you can use the `raw_request` method on `StripeClient`. ```python diff --git a/deps/test-requirements.txt b/deps/test-requirements.txt index 840c71309..e8ab486b2 100644 --- a/deps/test-requirements.txt +++ b/deps/test-requirements.txt @@ -14,4 +14,4 @@ anyio[trio] == 4.11.0; python_version >= "3.13" pytest-mock >= 2.0.0 mock >= 4.0; python_version < "3.8" pytest-xdist >= 1.31.0 -pytest >= 6.0.0 +pytest >= 6.0.0,<9.0.0 diff --git a/stripe/_account.py b/stripe/_account.py index 45efe0b9f..b68e8a3b5 100644 --- a/stripe/_account.py +++ b/stripe/_account.py @@ -1414,7 +1414,7 @@ class Invoices(StripeObject): Literal["always", "never", "offer"] ] """ - Whether payment methods should be saved when a payment is completed for a one-time invoices on a hosted invoice page. + Whether to save the payment method after a payment is completed for a one-time invoice or a subscription invoice when the customer already has a default payment method on the hosted invoice page. """ class Payments(StripeObject): diff --git a/stripe/_invoice.py b/stripe/_invoice.py index b1d6a62f1..5f31a991e 100644 --- a/stripe/_invoice.py +++ b/stripe/_invoice.py @@ -1406,7 +1406,7 @@ class TaxRateDetails(StripeObject): * `subscription_cycle`: A subscription advanced into a new period. * `subscription_threshold`: A subscription reached a billing threshold. * `subscription_update`: A subscription was updated. - * `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint. + * `upcoming`: Reserved for upcoming invoices created through the Create Preview Invoice API or when an `invoice.upcoming` event is generated for an upcoming invoice on a subscription. """ collection_method: Literal["charge_automatically", "send_invoice"] """ diff --git a/stripe/_payment_intent.py b/stripe/_payment_intent.py index c345c037f..8f9f797ff 100644 --- a/stripe/_payment_intent.py +++ b/stripe/_payment_intent.py @@ -2256,6 +2256,10 @@ class Routing(StripeObject): Requested routing priority """ + capture_method: Optional[Literal["manual", "manual_preferred"]] + """ + Controls when the funds will be captured from the customer's account. + """ request_extended_authorization: Optional[bool] """ Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity) diff --git a/stripe/params/_account_create_params.py b/stripe/params/_account_create_params.py index 9fa6d7854..c1caa0491 100644 --- a/stripe/params/_account_create_params.py +++ b/stripe/params/_account_create_params.py @@ -2137,7 +2137,7 @@ class AccountCreateParamsSettingsInvoices(TypedDict): Literal["always", "never", "offer"] ] """ - Whether payment methods should be saved when a payment is completed for a one-time invoices on a hosted invoice page. + Whether to save the payment method after a payment is completed for a one-time invoice or a subscription invoice when the customer already has a default payment method on the hosted invoice page. """ diff --git a/stripe/params/_account_update_params.py b/stripe/params/_account_update_params.py index 452297570..a47f27158 100644 --- a/stripe/params/_account_update_params.py +++ b/stripe/params/_account_update_params.py @@ -2053,7 +2053,7 @@ class AccountUpdateParamsSettingsInvoices(TypedDict): Literal["always", "never", "offer"] ] """ - Whether payment methods should be saved when a payment is completed for a one-time invoices on a hosted invoice page. + Whether to save the payment method after a payment is completed for a one-time invoice or a subscription invoice when the customer already has a default payment method on the hosted invoice page. """ diff --git a/stripe/params/_customer_session_create_params.py b/stripe/params/_customer_session_create_params.py index f9f149a81..d2009922d 100644 --- a/stripe/params/_customer_session_create_params.py +++ b/stripe/params/_customer_session_create_params.py @@ -8,7 +8,7 @@ class CustomerSessionCreateParams(RequestOptions): components: "CustomerSessionCreateParamsComponents" """ - Configuration for each component. Exactly 1 component must be enabled. + Configuration for each component. At least 1 component must be enabled. """ customer: NotRequired[str] """ diff --git a/stripe/params/_payment_intent_confirm_params.py b/stripe/params/_payment_intent_confirm_params.py index a7a935dc6..5e1d970f9 100644 --- a/stripe/params/_payment_intent_confirm_params.py +++ b/stripe/params/_payment_intent_confirm_params.py @@ -3026,6 +3026,14 @@ class PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptio class PaymentIntentConfirmParamsPaymentMethodOptionsCardPresent(TypedDict): + capture_method: NotRequired[Literal["manual", "manual_preferred"]] + """ + Controls when the funds are captured from the customer's account. + + If provided, this parameter overrides the behavior of the top-level [capture_method](https://docs.stripe.com/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type. + + If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type. + """ request_extended_authorization: NotRequired[bool] """ Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity) diff --git a/stripe/params/_payment_intent_create_params.py b/stripe/params/_payment_intent_create_params.py index 68d9ba97a..31ac011e0 100644 --- a/stripe/params/_payment_intent_create_params.py +++ b/stripe/params/_payment_intent_create_params.py @@ -3153,6 +3153,14 @@ class PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOption class PaymentIntentCreateParamsPaymentMethodOptionsCardPresent(TypedDict): + capture_method: NotRequired[Literal["manual", "manual_preferred"]] + """ + Controls when the funds are captured from the customer's account. + + If provided, this parameter overrides the behavior of the top-level [capture_method](https://docs.stripe.com/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type. + + If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type. + """ request_extended_authorization: NotRequired[bool] """ Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity) diff --git a/stripe/params/_payment_intent_modify_params.py b/stripe/params/_payment_intent_modify_params.py index 9b450c873..de168e3bc 100644 --- a/stripe/params/_payment_intent_modify_params.py +++ b/stripe/params/_payment_intent_modify_params.py @@ -3011,6 +3011,14 @@ class PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOption class PaymentIntentModifyParamsPaymentMethodOptionsCardPresent(TypedDict): + capture_method: NotRequired[Literal["manual", "manual_preferred"]] + """ + Controls when the funds are captured from the customer's account. + + If provided, this parameter overrides the behavior of the top-level [capture_method](https://docs.stripe.com/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type. + + If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type. + """ request_extended_authorization: NotRequired[bool] """ Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity) diff --git a/stripe/params/_payment_intent_update_params.py b/stripe/params/_payment_intent_update_params.py index 2baedffe6..689aeefc8 100644 --- a/stripe/params/_payment_intent_update_params.py +++ b/stripe/params/_payment_intent_update_params.py @@ -3010,6 +3010,14 @@ class PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOption class PaymentIntentUpdateParamsPaymentMethodOptionsCardPresent(TypedDict): + capture_method: NotRequired[Literal["manual", "manual_preferred"]] + """ + Controls when the funds are captured from the customer's account. + + If provided, this parameter overrides the behavior of the top-level [capture_method](https://docs.stripe.com/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type. + + If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type. + """ request_extended_authorization: NotRequired[bool] """ Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity) diff --git a/stripe/params/terminal/_configuration_create_params.py b/stripe/params/terminal/_configuration_create_params.py index 9109080da..b5e00a9fc 100644 --- a/stripe/params/terminal/_configuration_create_params.py +++ b/stripe/params/terminal/_configuration_create_params.py @@ -8,11 +8,11 @@ class ConfigurationCreateParams(RequestOptions): bbpos_wisepad3: NotRequired["ConfigurationCreateParamsBbposWisepad3"] """ - An object containing device type specific settings for BBPOS WisePad 3 readers + An object containing device type specific settings for BBPOS WisePad 3 readers. """ bbpos_wisepos_e: NotRequired["ConfigurationCreateParamsBbposWiseposE"] """ - An object containing device type specific settings for BBPOS WisePOS E readers + An object containing device type specific settings for BBPOS WisePOS E readers. """ expand: NotRequired[List[str]] """ @@ -34,19 +34,19 @@ class ConfigurationCreateParams(RequestOptions): """ reboot_window: NotRequired["ConfigurationCreateParamsRebootWindow"] """ - Reboot time settings for readers that support customized reboot time configuration. + Reboot time settings for readers. that support customized reboot time configuration. """ stripe_s700: NotRequired["ConfigurationCreateParamsStripeS700"] """ - An object containing device type specific settings for Stripe S700 readers + An object containing device type specific settings for Stripe S700 readers. """ tipping: NotRequired["Literal['']|ConfigurationCreateParamsTipping"] """ - Tipping configurations for readers supporting on-reader tips + Tipping configurations for readers. supporting on-reader tips """ verifone_p400: NotRequired["ConfigurationCreateParamsVerifoneP400"] """ - An object containing device type specific settings for Verifone P400 readers + An object containing device type specific settings for Verifone P400 readers. """ wifi: NotRequired["Literal['']|ConfigurationCreateParamsWifi"] """ @@ -57,7 +57,7 @@ class ConfigurationCreateParams(RequestOptions): class ConfigurationCreateParamsBbposWisepad3(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ @@ -96,7 +96,7 @@ class ConfigurationCreateParamsRebootWindow(TypedDict): class ConfigurationCreateParamsStripeS700(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ @@ -524,7 +524,7 @@ class ConfigurationCreateParamsTippingUsd(TypedDict): class ConfigurationCreateParamsVerifoneP400(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ diff --git a/stripe/params/terminal/_configuration_modify_params.py b/stripe/params/terminal/_configuration_modify_params.py index 5356eb67a..44b44ec93 100644 --- a/stripe/params/terminal/_configuration_modify_params.py +++ b/stripe/params/terminal/_configuration_modify_params.py @@ -10,13 +10,13 @@ class ConfigurationModifyParams(RequestOptions): "Literal['']|ConfigurationModifyParamsBbposWisepad3" ] """ - An object containing device type specific settings for BBPOS WisePad 3 readers + An object containing device type specific settings for BBPOS WisePad 3 readers. """ bbpos_wisepos_e: NotRequired[ "Literal['']|ConfigurationModifyParamsBbposWiseposE" ] """ - An object containing device type specific settings for BBPOS WisePOS E readers + An object containing device type specific settings for BBPOS WisePOS E readers. """ expand: NotRequired[List[str]] """ @@ -40,21 +40,21 @@ class ConfigurationModifyParams(RequestOptions): "Literal['']|ConfigurationModifyParamsRebootWindow" ] """ - Reboot time settings for readers that support customized reboot time configuration. + Reboot time settings for readers. that support customized reboot time configuration. """ stripe_s700: NotRequired["Literal['']|ConfigurationModifyParamsStripeS700"] """ - An object containing device type specific settings for Stripe S700 readers + An object containing device type specific settings for Stripe S700 readers. """ tipping: NotRequired["Literal['']|ConfigurationModifyParamsTipping"] """ - Tipping configurations for readers supporting on-reader tips + Tipping configurations for readers. supporting on-reader tips """ verifone_p400: NotRequired[ "Literal['']|ConfigurationModifyParamsVerifoneP400" ] """ - An object containing device type specific settings for Verifone P400 readers + An object containing device type specific settings for Verifone P400 readers. """ wifi: NotRequired["Literal['']|ConfigurationModifyParamsWifi"] """ @@ -65,7 +65,7 @@ class ConfigurationModifyParams(RequestOptions): class ConfigurationModifyParamsBbposWisepad3(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ @@ -104,7 +104,7 @@ class ConfigurationModifyParamsRebootWindow(TypedDict): class ConfigurationModifyParamsStripeS700(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ @@ -532,7 +532,7 @@ class ConfigurationModifyParamsTippingUsd(TypedDict): class ConfigurationModifyParamsVerifoneP400(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ diff --git a/stripe/params/terminal/_configuration_update_params.py b/stripe/params/terminal/_configuration_update_params.py index 93806b36f..d89546304 100644 --- a/stripe/params/terminal/_configuration_update_params.py +++ b/stripe/params/terminal/_configuration_update_params.py @@ -9,13 +9,13 @@ class ConfigurationUpdateParams(TypedDict): "Literal['']|ConfigurationUpdateParamsBbposWisepad3" ] """ - An object containing device type specific settings for BBPOS WisePad 3 readers + An object containing device type specific settings for BBPOS WisePad 3 readers. """ bbpos_wisepos_e: NotRequired[ "Literal['']|ConfigurationUpdateParamsBbposWiseposE" ] """ - An object containing device type specific settings for BBPOS WisePOS E readers + An object containing device type specific settings for BBPOS WisePOS E readers. """ expand: NotRequired[List[str]] """ @@ -39,21 +39,21 @@ class ConfigurationUpdateParams(TypedDict): "Literal['']|ConfigurationUpdateParamsRebootWindow" ] """ - Reboot time settings for readers that support customized reboot time configuration. + Reboot time settings for readers. that support customized reboot time configuration. """ stripe_s700: NotRequired["Literal['']|ConfigurationUpdateParamsStripeS700"] """ - An object containing device type specific settings for Stripe S700 readers + An object containing device type specific settings for Stripe S700 readers. """ tipping: NotRequired["Literal['']|ConfigurationUpdateParamsTipping"] """ - Tipping configurations for readers supporting on-reader tips + Tipping configurations for readers. supporting on-reader tips """ verifone_p400: NotRequired[ "Literal['']|ConfigurationUpdateParamsVerifoneP400" ] """ - An object containing device type specific settings for Verifone P400 readers + An object containing device type specific settings for Verifone P400 readers. """ wifi: NotRequired["Literal['']|ConfigurationUpdateParamsWifi"] """ @@ -64,7 +64,7 @@ class ConfigurationUpdateParams(TypedDict): class ConfigurationUpdateParamsBbposWisepad3(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ @@ -103,7 +103,7 @@ class ConfigurationUpdateParamsRebootWindow(TypedDict): class ConfigurationUpdateParamsStripeS700(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ @@ -531,7 +531,7 @@ class ConfigurationUpdateParamsTippingUsd(TypedDict): class ConfigurationUpdateParamsVerifoneP400(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ - A File ID representing an image you would like displayed on the reader. + A File ID representing an image you want to display on the reader. """ diff --git a/stripe/v2/billing/_meter_event.py b/stripe/v2/billing/_meter_event.py index 9d5a304dd..7ab581a1a 100644 --- a/stripe/v2/billing/_meter_event.py +++ b/stripe/v2/billing/_meter_event.py @@ -37,7 +37,8 @@ class MeterEvent(StripeObject): """ The payload of the event. This must contain the fields corresponding to a meter's `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and - `value_settings.event_payload_key` (default is `value`). Read more about the payload. + `value_settings.event_payload_key` (default is `value`). Read more about + the [payload](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides).. """ timestamp: str """