Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion API_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6d15a7f20cb77c2c22091a30e499cb89d7e3248c
30548eb63bda9b0c49c54b3ff449525f9d83b761
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2111
v2114
2 changes: 1 addition & 1 deletion stripe/_api_version.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# File generated from our OpenAPI spec
class _ApiVersion:
CURRENT = "2025-10-29.clover"
CURRENT = "2025-11-17.clover"
CURRENT_MAJOR = "clover"
4 changes: 2 additions & 2 deletions stripe/_bank_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -376,9 +376,9 @@ class Error(StripeObject):
"""
status: str
"""
For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn't enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a payout sent to this bank account fails, we'll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated.
For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, `tokenized_account_number_deactivated` or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn't enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If the status is `tokenized_account_number_deactivated`, the account utilizes a tokenized account number which has been deactivated due to expiration or revocation. This account will need to be reverified to continue using it for money movement. If a payout sent to this bank account fails, we'll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated.

For external accounts, possible values are `new`, `errored` and `verification_failed`. If a payout fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In the US and India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.
For external accounts, possible values are `new`, `errored`, `verification_failed`, and `tokenized_account_number_deactivated`. If a payout fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In the US and India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.
"""

@classmethod
Expand Down
4 changes: 4 additions & 0 deletions stripe/_charge.py
Original file line number Diff line number Diff line change
Expand Up @@ -1274,6 +1274,10 @@ class Ideal(StripeObject):
"""
Last four characters of the IBAN.
"""
transaction_id: Optional[str]
"""
Unique transaction ID generated by iDEAL.
"""
verified_name: Optional[str]
"""
Owner's verified full name. Values are verified or provided by iDEAL directly
Expand Down
1 change: 1 addition & 0 deletions stripe/_confirmation_token.py
Original file line number Diff line number Diff line change
Expand Up @@ -1350,6 +1350,7 @@ class Blocked(StripeObject):
"bank_account_restricted",
"bank_account_unusable",
"debit_not_authorized",
"tokenized_account_number_deactivated",
]
]
"""
Expand Down
2 changes: 2 additions & 0 deletions stripe/_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,13 +165,15 @@ class Request(StripeObject):
"customer_cash_balance_transaction.created",
"entitlements.active_entitlement_summary.updated",
"file.created",
"financial_connections.account.account_numbers_updated",
"financial_connections.account.created",
"financial_connections.account.deactivated",
"financial_connections.account.disconnected",
"financial_connections.account.reactivated",
"financial_connections.account.refreshed_balance",
"financial_connections.account.refreshed_ownership",
"financial_connections.account.refreshed_transactions",
"financial_connections.account.upcoming_account_number_expiry",
"identity.verification_session.canceled",
"identity.verification_session.created",
"identity.verification_session.processing",
Expand Down
4 changes: 4 additions & 0 deletions stripe/_object_classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,10 @@
"ConnectionToken",
),
"terminal.location": ("stripe.terminal._location", "Location"),
"terminal.onboarding_link": (
"stripe.terminal._onboarding_link",
"OnboardingLink",
),
"terminal.reader": ("stripe.terminal._reader", "Reader"),
"test_helpers.test_clock": (
"stripe.test_helpers._test_clock",
Expand Down
17 changes: 12 additions & 5 deletions stripe/_payment_attempt_record.py
Original file line number Diff line number Diff line change
Expand Up @@ -970,6 +970,10 @@ class Ideal(StripeObject):
"""
Last four characters of the IBAN.
"""
transaction_id: Optional[str]
"""
Unique transaction ID generated by iDEAL.
"""
verified_name: Optional[str]
"""
Owner's verified full name. Values are verified or provided by iDEAL directly
Expand Down Expand Up @@ -1579,7 +1583,13 @@ class Twint(StripeObject):

class UsBankAccount(StripeObject):
account_holder_type: Optional[Literal["company", "individual"]]
"""
The type of entity that holds the account. This can be either 'individual' or 'company'.
"""
account_type: Optional[Literal["checking", "savings"]]
"""
The type of the bank account. This can be either 'checking' or 'savings'.
"""
bank_name: Optional[str]
"""
Name of the bank associated with the bank account.
Expand All @@ -1598,11 +1608,11 @@ class UsBankAccount(StripeObject):
"""
payment_reference: Optional[str]
"""
Reference number to locate ACH payments with customer's bank.
The ACH payment reference for this transaction.
"""
routing_number: Optional[str]
"""
Routing number of the bank account.
The routing number for the bank account.
"""

class Wechat(StripeObject):
Expand Down Expand Up @@ -1705,9 +1715,6 @@ class Zip(StripeObject):
It contains information specific to the payment method.
"""
us_bank_account: Optional[UsBankAccount]
"""
Details of the US Bank Account used for this payment attempt.
"""
wechat: Optional[Wechat]
wechat_pay: Optional[WechatPay]
zip: Optional[Zip]
Expand Down
1 change: 1 addition & 0 deletions stripe/_payment_method.py
Original file line number Diff line number Diff line change
Expand Up @@ -1325,6 +1325,7 @@ class Blocked(StripeObject):
"bank_account_restricted",
"bank_account_unusable",
"debit_not_authorized",
"tokenized_account_number_deactivated",
]
]
"""
Expand Down
17 changes: 12 additions & 5 deletions stripe/_payment_record.py
Original file line number Diff line number Diff line change
Expand Up @@ -986,6 +986,10 @@ class Ideal(StripeObject):
"""
Last four characters of the IBAN.
"""
transaction_id: Optional[str]
"""
Unique transaction ID generated by iDEAL.
"""
verified_name: Optional[str]
"""
Owner's verified full name. Values are verified or provided by iDEAL directly
Expand Down Expand Up @@ -1595,7 +1599,13 @@ class Twint(StripeObject):

class UsBankAccount(StripeObject):
account_holder_type: Optional[Literal["company", "individual"]]
"""
The type of entity that holds the account. This can be either 'individual' or 'company'.
"""
account_type: Optional[Literal["checking", "savings"]]
"""
The type of the bank account. This can be either 'checking' or 'savings'.
"""
bank_name: Optional[str]
"""
Name of the bank associated with the bank account.
Expand All @@ -1614,11 +1624,11 @@ class UsBankAccount(StripeObject):
"""
payment_reference: Optional[str]
"""
Reference number to locate ACH payments with customer's bank.
The ACH payment reference for this transaction.
"""
routing_number: Optional[str]
"""
Routing number of the bank account.
The routing number for the bank account.
"""

class Wechat(StripeObject):
Expand Down Expand Up @@ -1721,9 +1731,6 @@ class Zip(StripeObject):
It contains information specific to the payment method.
"""
us_bank_account: Optional[UsBankAccount]
"""
Details of the US Bank Account used for this payment attempt.
"""
wechat: Optional[Wechat]
wechat_pay: Optional[WechatPay]
zip: Optional[Zip]
Expand Down
17 changes: 17 additions & 0 deletions stripe/_refund.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,16 @@ class JpBankTransfer(StripeObject):
class Klarna(StripeObject):
pass

class MbWay(StripeObject):
reference: Optional[str]
"""
The reference assigned to the refund.
"""
reference_status: Optional[str]
"""
Status of the reference on the refund. This can be `pending`, `available` or `unavailable`.
"""

class Multibanco(StripeObject):
reference: Optional[str]
"""
Expand Down Expand Up @@ -229,6 +239,9 @@ class ThBankTransfer(StripeObject):
Status of the reference on the refund. This can be `pending`, `available` or `unavailable`.
"""

class Twint(StripeObject):
pass

class UsBankTransfer(StripeObject):
reference: Optional[str]
"""
Expand Down Expand Up @@ -264,6 +277,7 @@ class Zip(StripeObject):
grabpay: Optional[Grabpay]
jp_bank_transfer: Optional[JpBankTransfer]
klarna: Optional[Klarna]
mb_way: Optional[MbWay]
multibanco: Optional[Multibanco]
mx_bank_transfer: Optional[MxBankTransfer]
nz_bank_transfer: Optional[NzBankTransfer]
Expand All @@ -275,6 +289,7 @@ class Zip(StripeObject):
sofort: Optional[Sofort]
swish: Optional[Swish]
th_bank_transfer: Optional[ThBankTransfer]
twint: Optional[Twint]
type: str
"""
The type of transaction-specific details of the payment method used in the refund (e.g., `card`). An additional hash is included on `destination_details` with a name matching this value. It contains information specific to the refund transaction.
Expand Down Expand Up @@ -302,6 +317,7 @@ class Zip(StripeObject):
"grabpay": Grabpay,
"jp_bank_transfer": JpBankTransfer,
"klarna": Klarna,
"mb_way": MbWay,
"multibanco": Multibanco,
"mx_bank_transfer": MxBankTransfer,
"nz_bank_transfer": NzBankTransfer,
Expand All @@ -313,6 +329,7 @@ class Zip(StripeObject):
"sofort": Sofort,
"swish": Swish,
"th_bank_transfer": ThBankTransfer,
"twint": Twint,
"us_bank_transfer": UsBankTransfer,
"wechat_pay": WechatPay,
"zip": Zip,
Expand Down
6 changes: 6 additions & 0 deletions stripe/_terminal_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
ConnectionTokenService,
)
from stripe.terminal._location_service import LocationService
from stripe.terminal._onboarding_link_service import OnboardingLinkService
from stripe.terminal._reader_service import ReaderService

_subservices = {
Expand All @@ -22,6 +23,10 @@
"ConnectionTokenService",
],
"locations": ["stripe.terminal._location_service", "LocationService"],
"onboarding_links": [
"stripe.terminal._onboarding_link_service",
"OnboardingLinkService",
],
"readers": ["stripe.terminal._reader_service", "ReaderService"],
}

Expand All @@ -30,6 +35,7 @@ class TerminalService(StripeService):
configurations: "ConfigurationService"
connection_tokens: "ConnectionTokenService"
locations: "LocationService"
onboarding_links: "OnboardingLinkService"
readers: "ReaderService"

def __init__(self, requestor):
Expand Down
4 changes: 4 additions & 0 deletions stripe/billing_portal/_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ class PaymentMethodUpdate(StripeObject):
"""
Whether the feature is enabled.
"""
payment_method_configuration: Optional[str]
"""
The [Payment Method Configuration](https://docs.stripe.com/api/payment_method_configurations) to use for this portal session. When specified, customers will be able to update their payment method to one of the options specified by the payment method configuration. If not set, the default payment method configuration is used.
"""

class SubscriptionCancel(StripeObject):
class CancellationReason(StripeObject):
Expand Down
23 changes: 23 additions & 0 deletions stripe/financial_connections/_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,24 @@ class AccountHolder(StripeObject):
Type of account holder that this account belongs to.
"""

class AccountNumber(StripeObject):
expected_expiry_date: Optional[int]
"""
When the account number is expected to expire, if applicable.
"""
identifier_type: Literal["account_number", "tokenized_account_number"]
"""
The type of account number associated with the account.
"""
status: Literal["deactivated", "transactable"]
"""
Whether the account number is currently active and usable for transactions.
"""
supported_networks: List[Literal["ach"]]
"""
The payment networks that the account number can be used for.
"""

class Balance(StripeObject):
class Cash(StripeObject):
available: Optional[Dict[str, int]]
Expand Down Expand Up @@ -152,6 +170,10 @@ class TransactionRefresh(StripeObject):
"""
The account holder that this account belongs to.
"""
account_numbers: Optional[List[AccountNumber]]
"""
Details about the account numbers.
"""
balance: Optional[Balance]
"""
The most recent information about the account's balance.
Expand Down Expand Up @@ -863,6 +885,7 @@ async def unsubscribe_async( # pyright: ignore[reportGeneralTypeIssues]

_inner_class_types = {
"account_holder": AccountHolder,
"account_numbers": AccountNumber,
"balance": Balance,
"balance_refresh": BalanceRefresh,
"ownership_refresh": OwnershipRefresh,
Expand Down
2 changes: 1 addition & 1 deletion stripe/financial_connections/_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ class Filters(StripeObject):
"""
The accounts that were collected as part of this Session.
"""
client_secret: str
client_secret: Optional[str]
"""
A value that will be passed to the client to launch the authentication flow.
"""
Expand Down
15 changes: 15 additions & 0 deletions stripe/params/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -766,6 +766,7 @@
)
from stripe.params._customer_balance_transaction_list_params import (
CustomerBalanceTransactionListParams as CustomerBalanceTransactionListParams,
CustomerBalanceTransactionListParamsCreated as CustomerBalanceTransactionListParamsCreated,
)
from stripe.params._customer_balance_transaction_retrieve_params import (
CustomerBalanceTransactionRetrieveParams as CustomerBalanceTransactionRetrieveParams,
Expand Down Expand Up @@ -835,6 +836,7 @@
)
from stripe.params._customer_list_balance_transactions_params import (
CustomerListBalanceTransactionsParams as CustomerListBalanceTransactionsParams,
CustomerListBalanceTransactionsParamsCreated as CustomerListBalanceTransactionsParamsCreated,
)
from stripe.params._customer_list_cash_balance_transactions_params import (
CustomerListCashBalanceTransactionsParams as CustomerListCashBalanceTransactionsParams,
Expand Down Expand Up @@ -1241,6 +1243,7 @@
)
from stripe.params._invoice_payment_list_params import (
InvoicePaymentListParams as InvoicePaymentListParams,
InvoicePaymentListParamsCreated as InvoicePaymentListParamsCreated,
InvoicePaymentListParamsPayment as InvoicePaymentListParamsPayment,
)
from stripe.params._invoice_payment_retrieve_params import (
Expand Down Expand Up @@ -5931,6 +5934,10 @@
"stripe.params._customer_balance_transaction_list_params",
False,
),
"CustomerBalanceTransactionListParamsCreated": (
"stripe.params._customer_balance_transaction_list_params",
False,
),
"CustomerBalanceTransactionRetrieveParams": (
"stripe.params._customer_balance_transaction_retrieve_params",
False,
Expand Down Expand Up @@ -6057,6 +6064,10 @@
"stripe.params._customer_list_balance_transactions_params",
False,
),
"CustomerListBalanceTransactionsParamsCreated": (
"stripe.params._customer_list_balance_transactions_params",
False,
),
"CustomerListCashBalanceTransactionsParams": (
"stripe.params._customer_list_cash_balance_transactions_params",
False,
Expand Down Expand Up @@ -7037,6 +7048,10 @@
"stripe.params._invoice_payment_list_params",
False,
),
"InvoicePaymentListParamsCreated": (
"stripe.params._invoice_payment_list_params",
False,
),
"InvoicePaymentListParamsPayment": (
"stripe.params._invoice_payment_list_params",
False,
Expand Down
Loading
Loading