Skip to content
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion API_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ffe4efab9b5dec59fea6b69a94f4b024fa7cf992
3602014a6583f6c0fbfdde3c575839ac7d0b4e9c
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2132
v2141
3 changes: 3 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ install group: venv
# always log deps in CI, but don't do it locally
python -I -m pip install -r deps/{{ group }}-requirements.txt --disable-pip-version-check {{ if env("CI", "") == "true" {""} else if is_dependency() == "true" {"--quiet"} else {""} }}

update-certs:
curl -o stripe/data/ca-certificates.crt https://curl.se/ca/cacert.pem

# create a virtualenv if it doesn't exist; always installs the local package
[private]
venv:
Expand Down
8 changes: 8 additions & 0 deletions stripe/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ def add_beta_version(
product_catalog as product_catalog,
radar as radar,
reporting as reporting,
shared_payment as shared_payment,
sigma as sigma,
tax as tax,
terminal as terminal,
Expand Down Expand Up @@ -332,6 +333,7 @@ def add_beta_version(
AuthenticationError as AuthenticationError,
BlockedByStripeError as BlockedByStripeError,
CardError as CardError,
ControlledByAlternateResourceError as ControlledByAlternateResourceError,
ControlledByDashboardError as ControlledByDashboardError,
FeatureNotEnabledError as FeatureNotEnabledError,
FinancialAccountNotOpenError as FinancialAccountNotOpenError,
Expand Down Expand Up @@ -545,6 +547,9 @@ def add_beta_version(
from stripe._setup_intent_service import (
SetupIntentService as SetupIntentService,
)
from stripe._shared_payment_service import (
SharedPaymentService as SharedPaymentService,
)
from stripe._shipping_rate import ShippingRate as ShippingRate
from stripe._shipping_rate_service import (
ShippingRateService as ShippingRateService,
Expand Down Expand Up @@ -654,6 +659,7 @@ def add_beta_version(
"product_catalog": ("stripe.product_catalog", True),
"radar": ("stripe.radar", True),
"reporting": ("stripe.reporting", True),
"shared_payment": ("stripe.shared_payment", True),
"sigma": ("stripe.sigma", True),
"tax": ("stripe.tax", True),
"terminal": ("stripe.terminal", True),
Expand Down Expand Up @@ -786,6 +792,7 @@ def add_beta_version(
"AuthenticationError": ("stripe._error", False),
"BlockedByStripeError": ("stripe._error", False),
"CardError": ("stripe._error", False),
"ControlledByAlternateResourceError": ("stripe._error", False),
"ControlledByDashboardError": ("stripe._error", False),
"FeatureNotEnabledError": ("stripe._error", False),
"FinancialAccountNotOpenError": ("stripe._error", False),
Expand Down Expand Up @@ -954,6 +961,7 @@ def add_beta_version(
"SetupAttemptService": ("stripe._setup_attempt_service", False),
"SetupIntent": ("stripe._setup_intent", False),
"SetupIntentService": ("stripe._setup_intent_service", False),
"SharedPaymentService": ("stripe._shared_payment_service", False),
"ShippingRate": ("stripe._shipping_rate", False),
"ShippingRateService": ("stripe._shipping_rate_service", False),
"SigmaService": ("stripe._sigma_service", False),
Expand Down
54 changes: 27 additions & 27 deletions stripe/_account.py

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion stripe/_account_link.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AccountLink(CreateableAPIResource["AccountLink"]):
Account Links are the means by which a Connect platform grants a connected account permission to access
Stripe-hosted applications, such as Connect Onboarding.

Related guide: [Connect Onboarding](https://stripe.com/docs/connect/custom/hosted-onboarding)
Related guide: [Connect Onboarding](https://docs.stripe.com/connect/custom/hosted-onboarding)
"""

OBJECT_NAME: ClassVar[Literal["account_link"]] = "account_link"
Expand Down
12 changes: 6 additions & 6 deletions stripe/_account_notice.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class AccountNotice(
"""
A notice to a Connected account. Notice can be sent by Stripe on your behalf or you can opt to send the notices yourself.

See the [guide to send notices](https://stripe.com/docs/issuing/compliance-us/issuing-regulated-customer-notices) to your connected accounts.
See the [guide to send notices](https://docs.stripe.com/issuing/compliance-us/issuing-regulated-customer-notices) to your connected accounts.
"""

OBJECT_NAME: ClassVar[Literal["account_notice"]] = "account_notice"
Expand All @@ -49,15 +49,15 @@ class Email(StripeObject):
class LinkedObjects(StripeObject):
capability: Optional[str]
"""
Associated [Capability](https://stripe.com/docs/api/capabilities)
Associated [Capability](https://docs.stripe.com/api/capabilities)
"""
issuing_credit_underwriting_record: Optional[str]
"""
Associated [Credit Underwriting Record](https://stripe.com/docs/api/issuing/credit_underwriting_record)
Associated [Credit Underwriting Record](https://docs.stripe.com/api/issuing/credit_underwriting_record)
"""
issuing_dispute: Optional[str]
"""
Associated [Issuing Dispute](https://stripe.com/docs/api/issuing/disputes)
Associated [Issuing Dispute](https://docs.stripe.com/api/issuing/disputes)
"""

created: int
Expand Down Expand Up @@ -86,7 +86,7 @@ class LinkedObjects(StripeObject):
"""
metadata: Optional[Dict[str, str]]
"""
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.
Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
"""
object: Literal["account_notice"]
"""
Expand All @@ -108,7 +108,7 @@ class LinkedObjects(StripeObject):
"issuing.dispute_won",
]
"""
Reason the notice is being sent. The reason determines what copy the notice must contain. See the [regulated customer notices](https://stripe.com/docs/issuing/compliance-us/issuing-regulated-customer-notices) guide. All reasons might not apply to your integration, and Stripe might add new reasons in the future, so we recommend an internal warning when you receive an unknown reason.
Reason the notice is being sent. The reason determines what copy the notice must contain. See the [regulated customer notices](https://docs.stripe.com/issuing/compliance-us/issuing-regulated-customer-notices) guide. All reasons might not apply to your integration, and Stripe might add new reasons in the future, so we recommend an internal warning when you receive an unknown reason.
"""
sent_at: Optional[int]
"""
Expand Down
4 changes: 2 additions & 2 deletions stripe/_account_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class AccountSession(CreateableAPIResource["AccountSession"]):
to your user. Do not save AccountSessions to your database as they expire relatively
quickly, and cannot be used more than once.

Related guide: [Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components)
Related guide: [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components)
"""

OBJECT_NAME: ClassVar[Literal["account_session"]] = "account_session"
Expand Down Expand Up @@ -518,7 +518,7 @@ class Features(StripeObject):

The client secret can be used to provide access to `account` from your frontend. It should not be stored, logged, or exposed to anyone other than the connected account. Make sure that you have TLS enabled on any page that includes the client secret.

Refer to our docs to [setup Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components) and learn about how `client_secret` should be handled.
Refer to our docs to [setup Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components) and learn about how `client_secret` should be handled.
"""
components: Components
expires_at: int
Expand Down
2 changes: 2 additions & 0 deletions stripe/_api_requestor.py
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,8 @@ def specific_v2_api_error(self, rbody, rcode, resp, rheaders, error_data):
return error.AlreadyExistsError(**error_args)
elif type == "blocked_by_stripe":
return error.BlockedByStripeError(**error_args)
elif type == "controlled_by_alternate_resource":
return error.ControlledByAlternateResourceError(**error_args)
elif type == "controlled_by_dashboard":
return error.ControlledByDashboardError(**error_args)
elif type == "feature_not_enabled":
Expand Down
2 changes: 1 addition & 1 deletion stripe/_api_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# -*- coding: utf-8 -*-
# File generated from our OpenAPI spec
class _ApiVersion:
CURRENT = "2025-11-17.preview"
CURRENT = "2025-12-15.preview"
4 changes: 2 additions & 2 deletions stripe/_application_fee_refund.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class ApplicationFeeRefund(UpdateableAPIResource["ApplicationFeeRefund"]):
has previously been created but not yet refunded. Funds will be refunded to
the Stripe account from which the fee was originally collected.

Related guide: [Refunding application fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee)
Related guide: [Refunding application fees](https://docs.stripe.com/connect/destination-charges#refunding-app-fee)
"""

OBJECT_NAME: ClassVar[Literal["fee_refund"]] = "fee_refund"
Expand Down Expand Up @@ -47,7 +47,7 @@ class ApplicationFeeRefund(UpdateableAPIResource["ApplicationFeeRefund"]):
"""
metadata: Optional[Dict[str, str]]
"""
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.
Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
"""
object: Literal["fee_refund"]
"""
Expand Down
4 changes: 2 additions & 2 deletions stripe/_balance.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class Balance(SingletonAPIResource["Balance"]):

The top-level `available` and `pending` comprise your "payments balance."

Related guide: [Balances and settlement time](https://stripe.com/docs/payments/balances), [Understanding Connect account balances](https://stripe.com/docs/connect/account-balances)
Related guide: [Balances and settlement time](https://docs.stripe.com/payments/balances), [Understanding Connect account balances](https://docs.stripe.com/connect/account-balances)
"""

OBJECT_NAME: ClassVar[Literal["balance"]] = "balance"
Expand Down Expand Up @@ -319,7 +319,7 @@ class SourceTypes(StripeObject):

available: List[Available]
"""
Available funds that you can transfer or pay out automatically by Stripe or explicitly through the [Transfers API](https://stripe.com/docs/api#transfers) or [Payouts API](https://stripe.com/docs/api#payouts). You can find the available balance for each currency and payment type in the `source_types` property.
Available funds that you can transfer or pay out automatically by Stripe or explicitly through the [Transfers API](https://api.stripe.com#transfers) or [Payouts API](https://api.stripe.com#payouts). You can find the available balance for each currency and payment type in the `source_types` property.
"""
connect_reserved: Optional[List[ConnectReserved]]
"""
Expand Down
2 changes: 1 addition & 1 deletion stripe/_balance_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class Schedule(StripeObject):
"""
schedule: Optional[Schedule]
"""
Details on when funds from charges are available, and when they are paid out to an external account. See our [Setting Bank and Debit Card Payouts](https://stripe.com/docs/connect/bank-transfers#payout-information) documentation for details.
Details on when funds from charges are available, and when they are paid out to an external account. See our [Setting Bank and Debit Card Payouts](https://docs.stripe.com/connect/bank-transfers#payout-information) documentation for details.
"""
statement_descriptor: Optional[str]
"""
Expand Down
2 changes: 1 addition & 1 deletion stripe/_balance_transaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class BalanceTransaction(ListableAPIResource["BalanceTransaction"]):
Balance transactions represent funds moving through your Stripe account.
Stripe creates them for every type of transaction that enters or leaves your Stripe account balance.

Related guide: [Balance transaction types](https://stripe.com/docs/reports/balance-transaction-types)
Related guide: [Balance transaction types](https://docs.stripe.com/reports/balance-transaction-types)
"""

OBJECT_NAME: ClassVar[Literal["balance_transaction"]] = (
Expand Down
6 changes: 3 additions & 3 deletions stripe/_balance_transfer.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
class BalanceTransfer(CreateableAPIResource["BalanceTransfer"]):
"""
Balance transfers represent funds moving between balance types on your Stripe account.
They currently support moving funds between your Stripe balance and your [Issuing](https://stripe.com/docs/issuing) balance and between your [Allocated Funds](https://stripe.com/docs/connect/funds-segregation) balance and your Stripe balance.
They currently support moving funds between your Stripe balance and your [Issuing](https://docs.stripe.com/issuing) balance and between your [Allocated Funds](https://docs.stripe.com/connect/funds-segregation) balance and your Stripe balance.
"""

OBJECT_NAME: ClassVar[Literal["balance_transfer"]] = "balance_transfer"
Expand Down Expand Up @@ -91,7 +91,7 @@ class Payments(StripeObject):
"""
hosted_regulatory_receipt_url: Optional[str]
"""
A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
A [hosted transaction receipt](https://docs.stripe.com/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
"""
id: str
"""
Expand All @@ -103,7 +103,7 @@ class Payments(StripeObject):
"""
metadata: Dict[str, str]
"""
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.
Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
"""
object: Literal["balance_transfer"]
"""
Expand Down
20 changes: 10 additions & 10 deletions stripe/_bank_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,19 +152,19 @@ class Error(StripeObject):

currently_due: Optional[List[str]]
"""
Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.
Fields that need to be resolved to keep the external account enabled. If not resolved by `current_deadline`, these fields will appear in `past_due` as well, and the account is disabled.
"""
errors: Optional[List[Error]]
"""
Fields that are `currently_due` and need to be collected again because validation or verification failed.
Details about validation and verification failures for `due` requirements that must be resolved.
"""
past_due: Optional[List[str]]
"""
Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account.
Fields that haven't been resolved by `current_deadline`. These fields need to be resolved to enable the external account.
"""
pending_verification: Optional[List[str]]
"""
Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending.
Fields that are being reviewed, or might become required depending on the results of a review. If the review fails, these fields can move to `eventually_due`, `currently_due`, `past_due` or `alternatives`. Fields might appear in `eventually_due`, `currently_due`, `past_due` or `alternatives` and in `pending_verification` if one verification fails but another is still pending.
"""
_inner_class_types = {"errors": Error}

Expand Down Expand Up @@ -284,19 +284,19 @@ class Error(StripeObject):

currently_due: Optional[List[str]]
"""
Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.
Fields that need to be resolved to keep the external account enabled. If not resolved by `current_deadline`, these fields will appear in `past_due` as well, and the account is disabled.
"""
errors: Optional[List[Error]]
"""
Fields that are `currently_due` and need to be collected again because validation or verification failed.
Details about validation and verification failures for `due` requirements that must be resolved.
"""
past_due: Optional[List[str]]
"""
Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account.
Fields that haven't been resolved by `current_deadline`. These fields need to be resolved to enable the external account.
"""
pending_verification: Optional[List[str]]
"""
Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending.
Fields that are being reviewed, or might become required depending on the results of a review. If the review fails, these fields can move to `eventually_due`, `currently_due`, `past_due` or `alternatives`. Fields might appear in `eventually_due`, `currently_due`, `past_due` or `alternatives` and in `pending_verification` if one verification fails but another is still pending.
"""
_inner_class_types = {"errors": Error}

Expand Down Expand Up @@ -350,7 +350,7 @@ class Error(StripeObject):
"""
future_requirements: Optional[FutureRequirements]
"""
Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when.
Information about the [upcoming new requirements for the bank account](https://docs.stripe.com/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when.
"""
id: str
"""
Expand All @@ -362,7 +362,7 @@ class Error(StripeObject):
"""
metadata: Optional[Dict[str, str]]
"""
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.
Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
"""
object: Literal["bank_account"]
"""
Expand Down
Loading
Loading